ご自身でファームウェアのkeymapファイルを書き換える際のTIPSです。
keymapを編集する際にUSとJISの表記が違いすぎて混乱すると思います。
こちらのnoteに整理されている「キー変換定義」が参考になります。
https://note.com/kloir_z/n/n314e739f03a1#1
こちらのdefineをkeymapファイルの先頭に書いておくと...
例)#define JP_AT LEFT_BRACKET //@
#defineというのは、ファームウェアをビルドするときに、
左側の文字列を右側の文字列に書き換えるというものです。
keymapで&kp JP_ATと書いたら。
&kp LEFT_BRACKETに読み替えてビルドされます。
LEFT_BRACKETはHIDの0x2Fというコードに変換されます。
0x2FはJIS環境ならアットマーク@として入力されます。
JP_ATと書くだけでいつもの@キーが使えるので、keymapファイルを編集する際に分かりやすくなります。
上記defineではキーコードを直接書いてありますが
例)# JP_YEN 0x89
zmkにはInternationalというカテゴリのキーが用意されています。
https://zmk.dev/docs/keymaps/list-of-keycodes#international
defineより簡便に設定できるので、こちらもオススメです。
なお、zmkが用意している記号キーについては、
単一のキーに見せかけて、Shiftを押しながらキーを押しているものもあります。
例)DOLLAR = LS(NUMBER_4)
JISとUSで挙動が変わってくる場合があるので、
設定したキーの挙動が想定と違うなど、困ったときはこの辺の定義ファイルも参照されると役に立つかもしれません。
https://github.com/zmkfirmware/zmk/blob/main/app/include/dt-bindings/zmk/keys.h