Gherkin (30 key keyboard) を組み立てました【Build編】でGherkinを組み立てたのでキーマップを設定します。

Gherkin (30 key keyboard) を組み立てました【Build編】

 

工程

QMK firmware の公式ツールを使って作業していきます。

 

キーマップの編集

QMK Configurator を使ってキーマップを編集します。

ブラウザで QMK Configurator のページを開きます。
※ブラウザはChrome推奨です。

 

画面左上「きーぼーど:」のプルダウンから「40percentclub/gherkin」を選択します。

「Keymap Name:」に任意の名前を半角英数字で入力します。
※エクスポートしたり、コンパイルしたときのファイル名になります。

「Layout:」は「LAYOUT_ortho_3x10」しかないので、そのままにします。

あとは、それぞれのレイヤーにキーを割り当てていきます。
〇囲み数字がレイヤーで、それぞれのレイヤーに対応するキーを指定していきます。

最初にデフォルトレイヤー(0)のキーを配置してQ , W , E …などのアルファベットキーや Enter キーを配置していきます。

配置方法は、レイヤー(0)のキーボードイラスト(上部)の中から変更するキーをクリックしてアクティブにし、実際のキーボードのキーを押すか、下部のキーボードのイラストから該当するキーをクリック、もしくはドラッグしてレイアウトしていきます。(ドラッグ操作はスマホのホーム画面のアプリアイコンの配置の編集操作に似ています)

配置したキーは後からでもドラッグして移動したり、キーの右肩にある「×」をクリックして削除することができます。

 

 

レイヤーの切り替えは「Quantum」タブにあります
Key 説明
MO(layer) ホールドしている間レイヤーをオンにする
TG(layer) タップして指定したレイヤー、再タップで戻る
TO(layer) レイヤーをオンにして、デフォルトレイヤーを除く他のすべてのレイヤーをオフにします。
TT(layer) ホールドしたときはレイヤー移動、タップでレイヤー切り替え
DF(layer) ベース(デフォルト)レイヤーを設定する
OSL(layer) 次のキーが押されるまで指定のレイヤー、次のキーが押されたら元のレイヤーにもどる
LT(layer, kc) ホールドしたときはレイヤーに移動、タップしたときはkc

※レイヤー切り替えを割り当てたキーは転送先レイヤーにKC_TRNS (▽) が必要です。

 

レイヤー切り替えの例

ホールドしてる間はレイヤー1へ移動、タップした時は「q」を入力したい場合は、【 LT 1 [Q] 】を指定します。

 

キーマップを設定したら「KEYMAP.JSON」左にある[↓]ボタンを押してバックアップをダウンロードします。
(ブラウザを閉じても、バックアップファイルをアップロードすることで、再編集することができます。)

バックアップをとったら画面右上にある「COMPILE」ボタンを押してコンパイルします。

コンパイルには少し時間がかかるので待ちます。

コンパイルが終わると「FIRMWARE」ボタンが押せるようになるので、これを押してファームウェア(.hex)ファイルをダウンロードします。

 

QMK toolbox を使ってFirmwareを焼きます

qmk/qmk_toolbox/

 

Windows の場合はここからドライバーをインストールします。

qmk/qmk_driver_installer/releases

 

QMK Toolbox をダウンロードしてインストールします。

qmk/qmk_toolbox/releases

環境に合ったものを一つ選びダウンロードします

QMK.Toolbox.app.zip Mac
QMK.Toolbox.pkg Mac インストール版
qmk_toolbox.exe Win
qmk_toolbox_install.exe Win インストール版

 

ダウンロードした QMK Toolbox を起動します。

 

 

次に、PC と Pro Micro をUSBで繋ぎます。

「OPEN」ボタンを押し、ダウンロードした「ファームウェア(.hex)ファイル」を指定して開きます。

 

既にデフォルトのキーマップを焼いてある場合は[RESET]( Q + B )を、
始めて焼く場合は、Pro Micro の reset (RST) ピンと GND ピンをショートさせ、書き込みモードにします。
(ピンの位置は learn.sparkfun.com の Hardware Overview: Pro Micro を参考にしてください)

 

最後に「Flash」ボタンを押すと書き込みが開始されます。

 

何度か Success とメッセージが表示され書き込みが完了し、書き込みモードが解除されて通常のUSB接続に戻ります。

以上で完了です。

 

キーマップ

Gherkin は30キーしかなく、アルファベットキーを置くデフォルトレイヤーでは「4キー」しか余らないので、必然的にLT(layer, kc)や、Modifier Keys( LCTL_T(KC) )などを組み合わせる必要がでてきます。

ゆっくりめにタイピングしているぶんには問題無かったのですが、速めのタイピングをしていると、LT(layer, kc) のホールドとタップのタイミングが合わず、意図した入力が得られない事が多かったです。

なので、タイピング速度が速くなりやすい文章入力中であまり使わない Q , Z , X , V キーにTL()を割り当てました。

ひとまず、以下のようなキーマップで試していますが、TG(1) の使い勝手がいまいちなので、他の方法を検討しています。

 

追記(2019.7.9):TG(1) をOSL(1)に置き換えることで使い勝手が良くなりました。

 

  [0] = LAYOUT_ortho_3x10(
    LCTL_T(KC_Q),  KC_W,        KC_E,        KC_R,        KC_T,        KC_Y,        KC_U,        KC_I,        KC_O,        KC_P,
    KC_A,          KC_S,        KC_D,        KC_F,        KC_G,        KC_H,        KC_J,        KC_K,        KC_L,        LT(2, KC_ENT),
    LSFT_T(KC_Z),  LT(3, KC_X), KC_C,        LT(4, KC_V), KC_B,        KC_N,        KC_M,        OSL(1),      KC_BSPC,     RSFT_T(KC_SPC)
  ),

  [1] = LAYOUT_ortho_3x10(
    KC_1,          KC_2,        KC_3,        KC_4,        KC_5,        KC_6,        KC_7,        KC_8,        KC_9,        KC_0,
    KC_MINS,       KC_EQL,      KC_LBRC,     KC_RBRC,     KC_BSLS,     KC_COMM,     KC_DOT,      KC_SCLN,     KC_QUOT,     KC_ENT,
    KC_LSFT,       KC_TAB,      KC_LCTL,     KC_LALT,     KC_SLSH,     KC_GRV,      KC_ESC,      _______,     _______,     RSFT_T(KC_SPC)
  ),

  [2] = LAYOUT_ortho_3x10(
    LCTL(KC_Q),    KC_UP,       _______,     _______,     LCTL(KC_PPLS),_______,    _______,     _______,     _______,     KC_DEL,
    KC_LEFT,       KC_DOWN,     KC_RGHT,     _______,     LCTL(KC_MINS),KC_LEFT,    KC_DOWN,     KC_UP,       KC_RGHT,     _______,
    _______,       _______,     _______,     KC_LGUI,     LCTL(KC_SPC), LCTL(KC_SPC),KC_RGUI,    _______,     _______,    RSFT_T(KC_SPC)
  ),

  [3] = LAYOUT_ortho_3x10(
    _______,       _______,     _______,     _______,     KC_F1,       KC_F2,       KC_F3,       KC_F4,       KC_F5,       KC_F6,
    _______,       _______,     _______,     _______,     KC_F7,       KC_F8,       KC_F9,       KC_F10,      KC_F10,      KC_F12,
    KC_CAPS,       _______,     _______,     _______,     KC_PSCR,     _______,     KC_HOME,     KC_END,      KC_PGUP,     KC_PGDN
  ),

  [4] = LAYOUT_ortho_3x10(
    _______,       _______,     _______,     _______,     _______,     _______,      _______,    _______,      BL_INC,      BL_ON,
    _______,       _______,     _______,     _______,     _______,     _______,      _______,    _______,      BL_DEC,      BL_OFF,
    RESET,         _______,     _______,     _______,     _______,     _______,      _______,    _______,      BL_STEP,     BL_TOGG
  ),