Skip to content

keebkuro/zmk-config-glove51tb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zmk-config-glove51tb

  • Glove51tb用のZMKファームウェア

Glove51tbとは

  • Xiao nRF52840 Plus(Xiao BLE Plus)を採用した技適対応のワイヤレスキーボード
  • 低背トラボケース(25mmトラボ対応)により、従来比でトラボケース高さ-7mm, トラックボール高さ-3.5mmを実現し、手のひらとの干渉を防止
  • Bluetooth接続(最大5台)とType-Cケーブルによる有線接続が可能
  • Cherry MXスイッチロープロファイルスイッチ(Choc V1, Choc V2_ガイドピン無し)に対応
  • 500mAhバッテリーを採用しながら薄型デザインを実現
  • 左側キーボードにロータリーエンコーダを搭載

スペック表

項目 詳細
ファームウェア ZMK Firmware
接続方式 有線接続(Type-C)
Bluetooth(最大5台)
対応キースイッチ ✅Choc V1
✅Choc V2(ガイドピン無し)
❌Choc V2(ガイドピン有り)
✅Lofree Ghost(Choc V2互換)
✅CherryMX
キーピッチ 標準ピッチ(19mm)
バッテリー容量 500mAh
バッテリー駆動時間 おおよそ1ヶ月ほど
ロータリーエンコーダ ロープロファイル規格のエンコーダーを左側キーボードに配置

キーボードレイアウト

glove51tb.svg

Docs

キーマップの変更方法

  • ⚠️ZMKファームウェアをビルドしてキーマップを変更するZMK Studioでキーマップを変更するを併用することは非推奨です

    ZMKファームウェアをビルドしてキーマップ変更したのに、ZMK Studioでのキーマップが優先されるケースがあるため

  • キーマップがうまく書き換えできなくなった場合は、6. ファームウェアをキーボードに書き込むsettings_reset-seeeduino_xiao_ble-zmk.uf2を書き込む手順を含めて実行すると解消可能です

ZMKファームウェアをビルドしてキーマップを変更する

0. 全体の流れ

  1. GitHubアカウントを作成する
  2. ZMKファームウェアのリポジトリをフォークする
  3. GitHub Actionsの有効化
  4. KeymapEditorとフォークしたリポジトリを連携する
  5. KeymapEditorでキー配列変更してファームウェアをビルドする
  6. ファームウェアをキーボードに書き込む

1. GitHubアカウントを作成する

2. ZMKファームウェアのリポジトリをフォークする

3. GitHub Actionsの有効化

  • フォークしたリポジトリの「Actions」タブに移動し、「I understand my workflows, go ahead and enable them」をクリックし、github Actionsを有効化

    build_01.jpg

4. KeymapEditorとフォークしたリポジトリを連携する

  • KeymapEditorにアクセス

  • GitHub を選択

    build_02.jpg

  • 「Login with GitHub」からでログインし、「Authorize Keymap Editor」を選択

  • 指示に従い、フォークしたリポジトリにKeymapEditorがアクセスできるように進める

5. KeymapEditorでキー配列変更してファームウェアをビルドする

  • KeymapEditor上でキーマップが表示されたら、好きにキーマップを編集する

  • 画面左上の「Save」を押すと、編集したキーマップが適用されてGitHub Actionsが走り、自動的にビルドが開始します

    build_03.jpg

  • 「Save」の隣に表示される「Latest」をクリックするとGitHubに移動し、ビルドが完了するとファームウェアがダウンロードできるようになります。(ビルドには2~4分かかる場合があります。)

6. ファームウェアをキーボードに書き込む

  • ダウンロードしたzipファイルを解凍する

    build_04.jpg

6-1. 右側キーボードにファームウェアを書き込む

  • リセットボタン(LED付近のボタン)をダブルクリックしてブートモードに切り替える

  • ブートモードのときにPCとキーボードをUSB接続するとXIAO-BOOTというリムーバルディスクが見えるようになります

    build_06.jpg

  • XIAO-BOOTglove51tb_R.uf2ファイルをドラッグアンドドロップしてください

    補足: うまく動作しないときは、settings_reset.uf2を先に書き込んでリセットしてから、上述のファームウェア書き込みを実施すると解消できます

6-2. 左側キーボードにファームウェアを書き込む

  • 右側キーボードと同じ手順で実施可能です
  • 書き込むファームウェアは左側キーボード用のものに読み替えてください(glove51tb_L.uf2

7. 完了

  • キーボードのスイッチを入れ直して完了
  • キー入力が正常に行えることを確認してください

ZMK Studioでキーマップを変更する

1. 右側キーボードとPCをType-Cケーブルで接続する

  • 本キーボードは右側キーボードが親機になってますので、親機とPCをType-Cケーブルで有線接続すること

2. ZMK Studioにアクセス

3. キーマップを変更するキーボードを選択

  • USBを選択 zmk_01.jpg
  • キーボードを選択するモーダルが表示されるので、glove51tb (cu.usbmodem11301)を選択してから接続をクリック zmk_02.jpg

4. キーマップを変更する

  • 変更後に右上の保存アイコンをクリックすると、変更内容をキーボードに書き込めます zmk_03.jpg

5. 完了

  • キーボードのスイッチを入れ直して完了
  • キー入力が正常に行えることを確認してください

Tips

左側キーボードでキー入力ができなくなった

  • 左右キーボード間のペアリングが失敗している状態です
  • 6. ファームウェアをキーボードに書き込むsettings_reset.uf2を書き込む手順を含めて実行すると解消可能です
  • 右側キーボード -> 左側キーボードの順番で実行すると良いです

ロータリーエンコーダを取り外してキースイッチを取り付け可能

  • ロータリーエンコーダをハンダ付けしている箇所には、キーソケット(CherryMX, Choc V1/V2)もハンダ付け済みです
  • はんだごてなどでロータリーエンコーダを取り外せばキースイッチを装着可能です

現在のレイヤーをLEDの色で判別できるようにする

  • 利用中のレイヤーに応じてLEDの表示色を出し分けて判別しやすくする機能がある
  • 本機能をON/OFFしたいときは以下のファイルを修正すること
  • 色を変更したい場合はCONFIG_RGBLED_WIDGET_LAYER_*_COLORの値を変更する

バッテリー残量をLEDで確認する

  • &ind_batを割り当てたキーを入力することで確認可能

    SYMレイヤー(Layer: 3)の左側キーボードに割当済み

  • LED表示色とバッテリー残量

    LED Color バッテリー残量
    🟢 60%
    🟡 20%
    🔴 10%
  • バッテリー残量の表示設定を変更したいときは以下のファイルを修正すること

    • boards/shields/glove51tb/glove51tb_R.conf
    • Greenとして表示するバッテリー残量を変更したいとき:
      • CONFIG_RGBLED_WIDGET_BATTERY_LEVEL_HIGHの値を書き換える
    • Yellowとして表示するバッテリー残量を変更したいとき:
      • CONFIG_RGBLED_WIDGET_BATTERY_LEVEL_LOWの値を書き換える
    • Redとして表示するバッテリー残量を変更したいとき:
      • CONFIG_RGBLED_WIDGET_BATTERY_LEVEL_CRITICALの値を書き換える

接続状況を確認する

  • &ind_conを割り当てたキーを入力することで確認可能

  • LED表示色とBluetooth接続状況

    LED Color Bluetooth接続状況
    🔵 Bluetooth接続中
    🔴 Bluetooth未接続

トラックボール操作による画面スクロールについて

  • SCROLL Layer(Layer 5)に切り替えた状態でトラックボール操作することで、上下左右方向にスクロールすることが可能

キーボードがチャタリングするときの対処方法

  • 電波干渉によりチャタリング(想定外に何度も入力されてしまう)が生じていると考えられます

  • 以下のファイルを修正することで、ソフトウェア側のデバウンスを調整することで対処可能です

  • 上述のファイルに以下の内容を追記する

    CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=10
    CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=10
    
    • 値を大きくするほどチャタリングを防止できますが、キー入力時に遅延を感じるようになります
  • 公式ドキュメント: https://zmk.dev/docs/features/debouncing

    CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS: 未記載の場合は自動的に5として動作する

    CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS: 未記載の場合は自動的に5として動作する

  • 参考例: https://x.com/search?q=CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS

マウス感度の変更方法

  • トラックボールのマウス感度(CPI: Counts Per Inch)を変更したいときは以下のファイルを修正すること
  • cpi = <400>;の値を変更する
    • 値を大きくするほど感度が上がります
    • 例: cpi = <800>; にすると感度が2倍になります

マウススクロールの方向変更

  • トラックボールのスクロール方向を変更したいときは以下のファイルを修正すること
  • zip_scroll_transformの設定を変更する
    • X軸を反転したい場合:
      • &zip_scroll_transform INPUT_TRANSFORM_X_INVERT
    • Y軸を反転したい場合:
      • &zip_scroll_transform INPUT_TRANSFORM_Y_INVERT
    • X軸とY軸の両方を反転したい場合:
      • &zip_scroll_transform INPUT_TRANSFORM_X_INVERT INPUT_TRANSFORM_Y_INVERT
    • 反転を無効化したい場合:
      • &zip_scroll_transformの行を削除する

オートマウスレイヤーの無効化

  • トラックボールを動かしたときに自動的にマウスレイヤーを有効化する機能を無効化したいときは以下のファイルを修正すること
  • input-processors = <&zip_temp_layer 4 700>;の行を削除またはコメントアウトする

オートマウスレイヤーのレイヤー変更

  • トラックボールを動かしたときに自動的に有効化されるレイヤーを変更したいときは以下のファイルを修正すること
  • input-processors = <&zip_temp_layer 4 700>;4を変更する
    • 例: レイヤー2に変更したい場合: input-processors = <&zip_temp_layer 2 700>;
    • 2つ目の数値(700)は、レイヤーが有効化される時間(ミリ秒)です

スクロール感度の変更方法

  • トラックボールのスクロール感度を変更したいときは以下のファイルを修正すること
  • zip_scroll_scaler 1 16の2つ目の数値(16)を変更する
    • スクロール感度を2倍にする場合:
      • zip_scroll_scaler 1 32
    • スクロール感度を半分にする場合:
      • zip_scroll_scaler 1 8

スクロールレイヤーのレイヤー変更

  • トラックボールでスクロール操作を行うレイヤーを変更したいときは以下のファイルを修正すること
  • layers = <5>;5を変更する
    • 例: レイヤー2に変更したい場合: layers = <2>;

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors