ZMKを https://zmk.dev/docs/user-setup に従ってセットアップする。 https://github.com/tangbonze/zmk-config-Keyball44 をforkする GitHub Actionsのbuildワークフローを実行する

リセットボタンを2回押すとブートローダに入り、PCからストレージとして認識される 出荷時のファームウェアをバックアップしておく

https://nickcoutsos.github.io/keymap-editor/

トラックボールの設定

デバイス設定

  • CONFIG_PMW3610=y
  • PMW3610_SMART_ALGORITHM=y
    • : Enable an algorithm of PMW3610 to enhance surface coverage
  • Polling Rate
    • PMW3610_POLLING_RATE_250 (default)
    • PMW3610_POLLING_RATE_125
    • PMW3610_POLLING_RATE_125_SW
  • PMW3610_FORCE_AWAKE=n
  • PMW3610_RUN_DOWNSHIFT_TIME_MS=120
  • PMW3610_REST1_SAMPLE_TIME_MS=40
  • PMW3610_REST1_DOWNSHIFT_TIME_MS=9600
  • PMW3610_REST2_SAMPLE_TIME_MS=0
  • PMW3610_REST2_DOWNSHIFT_TIME_MS=0
  • PMW3610_REST3_SAMPLE_TIME_MS=0

ボールアクション

ボールの上下左右に任意のアクションを割り当てる機能?

right.conf

  • PMW3610_CPI=800 (200-3200/200)
  • PMW3610_CPI_DIVIDOR=1 (1-100)
  • PMW3610_SNIPE_CPI=200
  • PMW3610_SNIPE_CPI_DIVIDOR=1
  • PMW3610_SCROLL_TICK=20
  • PMW3610_AUTOMOUSE_TIMEOUT_MS=400
    • トラックボールを操作しなくなってから自動マウスレイヤーが無効になるまでの時間
  • PMW3610_MOVEMENT_THRESHOLD=5
    • 自動でマウスレイヤーを有効にするまでに必要なトラックボールの移動量
  • PMW3610_BALL_ACTION_TICK=20

right.overlay

  • automouse-layer = 5
    • トラックボールを操作したとき自動で有効にするレイヤー
  • scroll-layer = 5
    • このレイヤーが有効なときトラックボールがスクロール操作になる
  • snipe-layer = 6
    • このレイヤーが有効なときトラックボールのCPIを変更する

XIAO nRF52840

GPIO 11+3+2 Key 6+4 Trackball 4 OLED 2

Left D4-D9 D18-21 Right D4-D9