aoiro’s blog

勉強を兼ねて記事を書きます

突然自作キーボードにハマりHelixとHelix Picoを作った話 その3: キーレイアウト編

Helix Picoのキーボードレイアウトの話

Helixを作った話はその1
Helix Picoを作った話はその2


背景

Helix Picoを作って使い始めたはいいが、せっかく自作キーボードを作ったのだから親指の位置にEnter, Backspaceを入れたかった。

Helix Picoのデフォルトレイアウトは一般的キーボードに合わせた作りになっており、あまりやんちゃしていないので、自分で作ることにした。 github.com


作ったレイアウト

github.com

せっかくだからHelix Picoについてたキー配列カードを参考に印刷用のレイアウト画像も作った

Qwertyはこんな感じ f:id:aoirohn:20181202201649j:plainf:id:aoirohn:20181202201653j:plain

他のレイアウト


考えたこと

  • いつもMacでやっている通りCtrlとEscapeはUS配列のCaps Lockの位置に置きたい
  • 親指でEnter, Backspace, Command, 英数, かなを押したい
  • あわよくばRaise, Lowerキーも親指で押したい
  • Tab, Deleteも親指に入れられればいいな
  • 右手に単体の矢印キーを置きたい
  • でもあわよくばホームポジションから右手を動かさずにQwertyのHJKLでカーソル動かしたい

細かい話

Modifierキー

  • Esc/Ctrlは単体で押すとEsc, 長押しするとCtrlになる
  • MacのEISU/⌘ は単体で押すと英数、長押しでコマンド。KANA/⌘は「かな」とコマンド
  • MacのHENK/Alt は単体で押すと変換、長押しでAlt。MHEN/Altは無変換とAlt
  • Tab/Lowerは単体で押すとTab, 長押しでLower切り替え
  • Enter/Raiseは単体で押すとEnter, 長押しでRaise切り替え

IME切り替え

WindowsIMEを切り替えるにはAlt + `を入力しなければならない。 デフォルト配列等では独自のキーを定義してWindowsMacで違うキーコードを入力できるようにしているが、QMKで長押し等でキーを切り替えるLayer SwitchingやModifiersの機能では独自キーが使えない?ようだったのでWindowsMacのレイヤーを分けた。

WindowsではIME切り替えキーの代わりに変換、無変換キーのコードが押されるようになっている。 IMEの設定で変換にIME ON, 無変換にIME OFFを入れることでMac同様の切り替えができる。(ただし、OS側でキー設定をしなくても同じように使えるという利点はなくなってしまっている)

Space, Backspace

SpaceキーとBackspaceキーには長押ししたときにキー配列を割り当てないようにしている。 他の人のレイアウトを見ていると親指にSpace, Backspaceを配置しているものが多いのだが、長押しに他のキーを割り当てると、Space, Backspaceを長押ししたときに連続入力ができない。個人的にこの2つのキーは連続入力したいことが多いので、長押し機能は入れないようにした。

Raise, LowerレイヤーのSpaceキー位置にはShift+Spaceを入れた。あんまりやっている人はいないが、変換時に変換候補の選択を戻るのに便利。 これはおすすめしたい。

矢印キー

右手だけでカーソル操作できるように単体の矢印キーを右手右下位置に置いたが、LowerレイヤーのHJKLでもカーソル移動ができるようにした。やはりホームポジションVim同様にカーソル移動できるのは便利。 (もしDovorakやEucalyn配列にしてもvimホームポジションでカーソル移動できる)

Menuキー

Windows用にレイアウトにMenuキーを入れたのだが、Macには該当するキーがないので入れるキーに困った。 特に入れるキーもなかったので最終的にCtrl + ⌘にした。一応Ctrl + ⌘ + Spaceで絵文字入力が簡単にできる。


まとめ

右手は矢印キーを入れたことでキーに余裕がないのに対し、左手はキーが有り余って入れるキーに困ってしまった。

まだ納得行って無い部分も多いがある程度満足できるレイアウトが作れた。とりあえずはこれで使って行きたい。