日別アーカイブ: 2025年3月25日

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の状態が代わるようなキー操作を行うと」 []