3
0

More than 1 year has passed since last update.

QMK薙刀式をRemap対応する方法

Last updated at Posted at 2022-03-13

Keyboard Quantizer rev4(KQ4)に
QMK薙刀式を組み込んでみた。

調べていくうちにQMK薙刀式をRemap対応すれば
パソコン ~ KQ4(薙刀式) ~ USBキーボード
の組み合わせで繋ぐことができる。

色々と試した結果、出来た。
https://github.com/deepprog/qmk_firmware/tree/rp2040/keyboards/keyboard_quantizer/rp/keymaps/naginata
に今回の修正したファイルがあります。

初期ファームウェアがコンパイルできる環境で
make keyboard_quantizer/rp:default:uf2
の代わりに
make keyboard_quantizer/rp:naginata:uf2
に変更します。

対応方法は、QMK薙刀式のレイヤーと、カスタムキーコードの値を固定化することで
Remapのカスタムキーから数値設定したキーを登録する。

naginata.h
//説明のため変更点を抜粋
typedef enum naginata_keycodes {
 //NG_Q = SAFE_RANGE, 
//SAFE_RANGEをやめてカスタムキーで
//使用されないでだろう0x5F50を開始値にする
  NG_Q = 0x5F50,
  NG_W, //0x5F51 Remapカスタムキーに対応する数値
  NG_E, //0x5F52
  NG_R, //0x5F53
  NG_T, //0x5F54
  NG_Y, //0x5F55
  NG_U, //0x5F56
  NG_I, //0x5F57
  NG_O, //0x5F58
  NG_P, //0x5F59

  NG_A, //0x5F5A
  NG_S, //0x5F5B
  NG_D, //0x5F5C
  NG_F, //0x5F5D
  NG_G, //0x5F5E
  NG_H, //0x5F5F
  NG_J, //0x5F60
  NG_K, //0x5F61
  NG_L, //0x5F62
  NG_SCLN, //0x5F63

  NG_Z, //0x5F64
  NG_X, //0x5F65
  NG_C, //0x5F66
  NG_V, //0x5F67
  NG_B, //0x5F68 
  NG_N, //0x5F69
  NG_M, //0x5F6A
  NG_COMM, //0x5F6B
  NG_DOT,  //0x5F6C
  NG_SLSH, //0x5F6D

  NG_SHFT,  //0x5F6E
  NG_SHFT2, //0x5F6F

  NG_ON,    //0x5F70
  NG_OFF,   //0x5F71
  NG_CLR,   //0x5F72
  NGSW_WIN, //0x5F73
  NGSW_MAC, //0x5F74
  NGSW_LNX, //0x5F75
  NG_MLV,   //0x5F76
  NG_SHOS,  //0x5F77
  NG_TAYO,  //0x5F78
  NG_KOTI,  //0x5F79

  NG_SAFE_RANGE, //0x5F7A //※1
} NGKEYS;

//#define NG_SAFE_RANGE SAFE_RANGE42//NG_SAFE_RANGEを※1に移動させる

enum keymap_layers {
_QWERTY = 0,
// 薙刀式
_NAGINATA = 1, // 薙刀式入力レイヤー 1
//Remapで設定するレイヤー番号に対応する。
// 薙刀式
_LOWER = 2,
_RAISE = 3,
};
keymap.c
//説明のため変更点を抜粋
enum custom_keycodes {
  EISU = NG_SAFE_RANGE, //0x5F7A
  KANA2,                //0x5F7B

  SPD_1, //0x5F7C
  SPD_2, //0x5F7D
  SPD_3, //0x5F7E
};

レイヤーとカスタムキーコードを固定したQMK Firmwareをコンパイルして
対応したレイヤーとカスタムキーをRemapで設定します。
その他は、自作キーボードにQMK薙刀式を
移植する手順と変わりません。

Keyboard Quantizer Bも同じ方法で
対応できるでしょう。

この方法はBMPのカスタムキーを
0x5E00から固定値で設定している方法を参考にしました。
0x5F50はBMPとも重ならない番号です。

動作検証はレイヤー0に2つカスタムキーを設定してます。
EISU = 0x5F7A 左altキーに
KANA2 = 0x5F7B 右altキーに設定しています。

右altキーで、薙刀式モードに
左altキーで、通常モードに戻ります。

追記

編集モードの入力が変?(対応済み)
編集モードで「」をタイプすると、数字が入力された

原因
ユニコードの直接入力にaltの同時押しを利用しているのを忘れていた。

altキーにを設定したため、うまく動いていなかった。
altキーを元に戻し仮にPrtScにKANA2を設定し
「」の入力とカッコ内にカーソルが移動を確認した。

対策
テストはRemap設定を終えてから動作確認をしましょう。

これは何をしているか 書き欠け途中

Keyboard Quantizer rev4
 USBキーボードのキー入力をカスタマイズできる機器
rev4のマイコンにはRP2040に変更しています。
詳しく下記のリンクから
https://github.com/sekigon-gonnoc/keyboard-quantizer-doc。

カナ配列「薙刀式」のQMK実装版を組み込む。

両方のプログラムを見ていて、
Keyboard Quantizer rev4は
 キーカスタマイズにはRemapで行う。

Remapの設定画面
keymap.png

3
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
3
0