USBキーボードアダプタは、Raspberry Pi Picoで仕切り直し。
まずはキーマップの見直し。
パソピア700オリジナルのキーボード配置。
109キーボードへのマッピングは以下のように。
パソピア700は、SHIFTと同時押しすることでTAB/HOME/INS/↓キーが入力できます。
109キーボードでは単一キーとして割り当てたので、使い勝手がよくなりました。
但しそれらのキーと別のキーを同時押しした場合、SHIFTも入力されます。(例えばA+↓キーを同時押しすると、パソピア700にはA+↓/↑+SHIFTの3キーが入力されます)
あとパソピア700にはDeleteキーに該当するコマンドがないため、→(カーソル右移動)+DEL(BackSpace)の2つのキーを連続入力することで対応しました。
static uint8_t num_lock = 0;・・・void tuh_hid_report_received_cb(uint8_t dev_addr, uint8_t instance, uint8_t const* report, uint16_t len){・・・// Num Lockの場合if (report->keycode[i] == 0x53) {num_lock ^= KEYBOARD_LED_NUMLOCK;}・・・tuh_hid_set_report(dev_addr, instance, 0, HID_REPORT_TYPE_OUTPUT, &num_lock, sizeof(num_lock));sleep_ms(50); // 連打ハング対策・・・}
連打するとハングするキーボードもあったので、一応少しWaitを入れています。
Caps LockとScroll LockのLED点灯はしません。
-----
Picoだと認識しないUSBキーボードがあるが、認識するキーボートは動作が安定している。
ハドフでいくつかUSBキーボードを買って試してみた。
- Buffalo BKBU-J109LG : OK
- Buffalo YDKBU02BK : OK
- iBuffalo YDKBU11 : OK
- iBuffalo BSKBU02 : OK
- iBuffalo SAVIOR BSKBC02 : NG
- Fujitsu USB Hub付キーボード : NG
- Dell Keyboard KB212 : OK
- Sanwa Supply SKB-SL065V : OK
- ユーエーシー KU-8933 : OK
- 3Rシステム 3R-KCKB04U : OK
- HP 803181-291 : OK
- ELECOM TK-FCM062 : NG (電源ONのあとUSBを抜き差しすると認識する)
- GALLERIA GK-6260 : OK
USB Hub付きやGamingキーボードはNG。
できるだけシンプルで、消費電力が少ないものが良いと思う。
USBホットプラグは微妙なので非サポートにします。
3Rシステムのキーボードは、1回目は成功するが2回目でハング。
1回目から失敗するキーボードもある。
基本、電源投入後はUSBキーボードを抜かないように。。。
0 件のコメント:
コメントを投稿