投稿者「hsgw72rt」のアーカイブ

macOS Big Sur における不具合について

当方が製作・販売しているキーボードアダプタですが、macOS Big Sur にて次の不具合が出る事が分かっています

CapsLockキーを押すと1 数秒間キー入力が出来なくなる。その数秒間の間に何らかのキーを打鍵していた場合、数秒後にまとめて入力される

CapsLock キーを操作しなくてもOSが何かのタイミングで内部でCapsLockキーの状態を変更することがあり、その場合も同様の症状が発生します

現在も解決には至っていません。この不具合は全アダプタ共通のUSB処理フレームワークに原因があるようで、不具合を発見したのはADBキーボード用のアダプタですが、PC98用やX68k用等全てのアダプタで共通で発生すると思われます

 

ただしこれまでの調査で 「キーボード上のLED (CapsLock、NumLock、ScrollLock) のON/OFF制御を行わないようにすればこの不具合は起きない」 事を確認していますので、もしこの不具合が発生している方がいらっしゃいましたら暫定対応版のF/Wを別途提供させて頂きます

今の所この不具合はWindows OSでは起きていません(Win7、Win10、Win11で確認)

 

あまり読む必要の無いメモ書き

HID Keyboard における LED ON-OFF制御は set_report にて行われますが、Device(ここではキーボードアダプタ)が set_report を受けた後、”何か” を返さないとHOST側(ここでは macOS)がその “何か” が返ってくるのを待ってフリーズ、数秒後に応答待ちタイムアウトが発生して処理再開(再開のタイミングで応答待ちの間に打鍵されたキーがまとめて処理される)という現象のような気がします。

set_idle の受信を真似て set_report のsetupパケットを受けたら応答を返すとかいろいろ試してみたのですが解決には至っていません

  1. 厳密には「CapsLock LEDの状態が代わるようなキー操作を行うと」 []

usb2adb firmware (2024.12.31_4)

ISOレイアウトのキーボードを持っていなかったので今まで未確認だったのですが、ISOレイアウトの “><” キーが “A” キーとマップが被るっぽいので急遽対策しました。ただしISOレイアウトでの動作は未検証です(ANSIレイアウトのキーボードで正常に入力出来ることは確認しています)

usb2adb firmware (2024.12.31_4)

 

本来 ADBキーボードにおける “A” キーのスキャンコードは 0x00 なんですが処理の都合で 0x0A に移動させていました。が、ISOレイアウトの “><” キーのスキャンコードも 0x0A のようで不具合が生じていました。

修正したファームでは “><” キーのスキャンコードを 0x50 に移動させました。キーマップをカスタマイズする際はご注意ください。あと “><” キーはデフォルトでは未定義(キーを押しても何もキーコードを発生しない)となっていますので、このキーを使いたい場合はユーザカスタマイズにて変更して下さい。

ファームウェアはWindows用&REV3用(アダプタのLEDが青)です(※実はmacOS bigSurで起きていた不具合はMontereyで解消されたような気がしないでもないですが…)

サイト障害と復旧

当サイトが正常に動作していなかったためサービスをとめてメンテナンスを行いました。メンテナンス中に当サイトを訪れた方にはご迷惑をおかけして申し訳ありません。

正常に復旧したと思いますが、もしおかしな点がありましたらご指摘頂けますと幸いです。