LoginSignup
2
0

More than 1 year has passed since last update.

BLE Micro ProでKeyball44を無線化したい

Last updated at Posted at 2023-02-13

結論

BLE Micro Proでkeyball44が動作するまでは確認できましたが、光学センサー(PMW3360)へ電源を供給する術がないぞ..というところで断念しました。少なくともUSB経由で電源を供給してあげれば無線で使用できるのでBMPのファームウェアだけでも供養しておきます。あとはハードウェアに詳しい方が...(「keyball44を無線化したい」というツイートは散見されたので需要はありそう)

Keyball

白銀ラボさんが販売している分割型トラックボール付きキーボード

BLE Micro Pro

使用するキーボードに合わせてCONFIG.JSNを設定するだけで簡単に自作キーボードを無線化できる優れもの。キーボードによっては対応していない場合もあるようですが、Keyballのドキュメントを見ながら順番に設定すると無事に無線でキー入力ができました。

CONFIG.JSN

自分のkeyballは右側(ボールあり)、左側(ボールなし)なので右側をマスター、左側をスレーブにしています(ちなみにLEDやOLEDは使用していません)。両方とも無線で使うこともできますし、TRRSケーブルを繋いだ状態だと左側(スレーブ側)は電源がなくても動作するようでした。

keyball44_master_right_config.json
{"config":{"version":2,
"device_info":{"vid":"0x0000","pid":"0x0000","name":"ble_micro_pro","manufacture":"sekigon-gonnoc","description":"A development board for wireless split keyboards"},
"matrix":{"rows":8,"cols":6,"device_rows":4,"device_cols":6,"debounce":1,"is_left_hand":0,"diode_direction":0,"row_pins":[20,19,18,17],"col_pins":[7,8,9,10,11,12],
"layout":[
  1,  2,  3,  4,  5,  6, 30, 29, 28, 27, 26, 25,  0,
  7,  8,  9, 10, 11, 12, 36, 35, 34, 33, 32, 31,  0,
 13, 14, 15, 16, 17, 18, 42, 41, 40, 39, 38, 37,  0,
 20, 21, 22, 23, 24, 48, 47, 44]},
"mode":"SPLIT_MASTER","startup":1,
"peripheral":{"max_interval":20,"min_interval":10,"slave_latency":7},
"central":{"max_interval":60,"min_interval":30,"slave_latency":7},
"led":{"pin":1,"num":60},
"keymap":{"locale":"US","use_ascii":0},
"reserved":[0,0,0,0,0,0,0,0]}}
keyball44_slave_left_config.json
{"config":{"version":2,
"device_info":{"vid":"0x0000","pid":"0x0000","name":"ble_micro_pro","manufacture":"sekigon-gonnoc","description":"A development board for wireless split keyboards"},
"matrix":{"rows":8,"cols":6,"device_rows":4,"device_cols":6,"debounce":1,"is_left_hand":1,"diode_direction":0,"row_pins":[20,19,18,17],"col_pins":[7,8,9,10,11,12],
"layout":[
  1,  2,  3,  4,  5,  6, 30, 29, 28, 27, 26, 25,  0,
  7,  8,  9, 10, 11, 12, 36, 35, 34, 33, 32, 31,  0,
 13, 14, 15, 16, 17, 18, 42, 41, 40, 39, 38, 37,  0,
 20, 21, 22, 23, 24, 48, 47, 44]},
"mode":"SPLIT_SLAVE","startup":1,
"peripheral":{"max_interval":60,"min_interval":30,"slave_latency":7},
"central":{"max_interval":60,"min_interval":30,"slave_latency":7},
"led":{"pin":1,"num":60},
"keymap":{"locale":"US","use_ascii":0},
"reserved":[0,0,0,0,0,0,0,0]}}

ファームウェア

BMPのサンプルKeyballのドライバーの実装を参考にSPIでPMW3360を制御するコードを追加したところ無線でマウス入力もできました。とりあえず動作検証して終わった程度なのでcpiの調整機能などは実装してません。ハードウェアの課題が解決できれば残りの実装やトラックボールを操作した際の自動レイヤー切り替えなども対応したいですね..

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0