見出し画像

HHKBの日本語切り替え考察の旅

考察というか、ただ色々と試して悩んで流浪の旅に出て、結論としてWindowsならAlt + `、macOSの場合はcmd + `に落ち着いたという話です。

HHKB US配列に乗り換えてからの悩み

HHKB Professional HYBRID Type-S US配列 無刻印が現在の愛用HHKB

今までずっと日本語配列のHHKBを愛用していて、今は廃盤のHHKB Liteでデビューして、Professional2、HYBRID Type-S(JP)と、JIS配列のものを使ってきました。
ですが今はUS配列のHHKB HYBRID Type-S 無刻印モデルを使っています。これに関しては語ると長話になるので別のnoteでいつか書きます。たぶん🧑🏻‍💻

あと、前提として、僕は会社とプライベートでメインにmacOSを使っているのですが、ゲームはゲーミングPCでWindows11を使っています。
なので微妙に両OSを意識した考えも混じってます🙂

で、日本切り替えなのですが、macOSではデフォルトでCtrl + Spaceに割り当てられています。JIS配列の場合は英数・かな切り替えの専用のキーがあるので違和感がある人や、生産性が下がる人も多いとは思いますが、僕はWindows歴も長いので半角/全角方式のトグル切り替えでもそこまでストレスは感じません。慣れです。なので、このCtrl + Spaceでの切り替えは違和感がなく使いやすいと思っています。以前Linuxを使っているときも同じにしていたような記憶があります。

また、US配列のキーボードをmacOSに繋げる場合の定番設定として、Karabiner-Elementsをインストールして、右と左のcmdキーを単押しのときは英数・かな切り替えとして機能させるというのがよく紹介されています。僕も別の機会の時にKarabinerは入れていた(Windows用のRealforceを接続してた時に)ので使ったことはあるのですが、個人的には、この手の外部ソフトは入れないで済むならそれに越したことはないと思っていて、あまり好きではないです。
それと、US配列のキーボードはスペースバーが長いので、cmdキーの位置が、JIS配列の英数・かなとはだいぶ違います。親指を頑張って曲げて打つ必要があるというのもあって、Karabiner-Elements + 親指頑張るのスタイルは一旦置いておこうとなったわけです。

じゃあデフォルトのCtrl + Spaceでいいよね。で話は終わりそうなのですが、ここでプログラマーゆえの悩みが1つあります。それはCtrl + Spaceは補完の定番のショートカットだということです。

Jetbrains系のIDEでもCtrl + Spaceは補完ですし、Visual Studio Codeでもそうです。eclipseでも確かそうですし、Webの簡易IDEなんかも大体このショートカットです。
流石に補完が使えないのは不便すぎるので、じゃあどうしようかということになるのですが、大体回避策としては「日本語切り替え側を変える」か「IDE側のキーマップを変える」の二択です。

Shift + Space案

そこで僕は最初、macの日本語切り替えをShift + Spaceにしようと思いました。Windowsも10以降から設定でShift + Spaceに日本語切り替えを設定できるようになってますし、AndroidのGboardもShift + Spaceで切り替えができるので、OS全部で統一できてハッピーです🤗

で、実際に設定しようとしてみると、なぜかShift + Spaceは設定することができません。

なぜだかどうしてもShift + Spaceは設定できない

原因は不明ですが、どうも設定できなさそうです。Twitterを覗いてみるとちょくちょく同様のことをつぶやいている人がいたのでそうなのかなと思っています。

なので、Sfhit + Space案は早々に諦めることとなりました。

Ctrl + Spaceのまま、エディタ側を設定する案

で、結局エディタ側を設定するようにしてみました。幸い普段使っているAndroid StudioもVSCodeもキーマップは自由に設定することができます(メジャーなエディタはだいたいできる)。
最初は補完にShift + Spaceを設定したのですが、いっそ全然違うのでもいいかもねと思って、Ctrl + ;というちょっと斬新な設定にしていました。

IntelliJ系のIDEの場合、通常の補完とは別に型一致も考慮して補完候補を出してくれる便利な補完もあるのですが、そちらはデフォルトではCtrl + Shift + Spaceになっています。それはCtrl + Shift + ;にしました。スペースを使わないスタイルで回避しました。

しばらくこの補完設定で使っていたのですが普通にいい感じです。なんなら押しやすいまであって快適でした。

。。。なんですが、結局問題に当たります。キーマップを変更できないエディタがあったのです。
たとえばWeb上でコードが書けるようなものや、言語に付属してくるような専用IDEなどです。この手のエディタの場合キーの変更はサポートしていないことが多かったです。そして補完はCtrl + Spaceに設定されています。

世界共通のCtrl + Space補完を都度都度設定するのも大変ですし、環境が変わって戸惑うのも辛いなと思い直しました。

なのでこの設定案も白紙です。

Optoin + Space案

そして登場したのがこのOption + Space案です。
macのショートカット周りをしげしげと見ていると、あれ?このショートカット空いてね?と気づいたわけです。特にHHKBの場合、Optionキーの横にはキーがありません。最下段の最端のキーです。そのため押し間違えのリスクも少なく、そしてIDEのショートカットともぶつかりませんでした。

このショートカット案はなかなか良く、いい感じでした。左手の小指をスッと下に下ろすとちょうど左optonキーの位置にくるので、さっとOption + Spaceを押すことができます。

この案はデメリットもなく、僕の中で完璧でした。むしろなぜ誰も紹介してないのだ!?と息巻いたほどです(そりゃ大半の人はCtrl + Splaceで問題ないからだよ)。

なんですが、結局僕はこの案すらも蹴ることになります。それはなぜかというと、Macbookのキーボードを使う時、ブラインドでOptionキーを押すのは難しいのでは?と思ったからです。
いや、たまにならいいんですけど、日本語切り替えともなるとなかなかの頻度で使います。それこそ、英語まじりのメッセージやマークダウンを書いてる時なんか一文字ごとに切り替えなんてザラです。そうなるとちょっとなと思い始めたわけです。

スペースバーのショートカットがストレスに感じた

色々旅をしていく中でふと思うところが出てきました。それは、そもそもスペースバーとのショートカットはあまり押したくないなと思い始めたわけです。

一つは、HHKBでCtrl + SpaceやOption + Spaceなどの組み合わせを押すとちょっとキーが重く感じる点です。親指がちょっと疲れるんですよね。エディタ補完くらいの頻度であれば全然いいんですけど、日本語切り替えでしょっしゅう切り替えるとなると、結構親指にきます。

そして音もちょっと気になります。エンジニアなのでタイピング量が多く、英語混じりのメッセージも多いですし、マークダウンなんかを書いてる時はしょっちゅう日本語切り替えをする必要があります。そうなるとCtrl + Spaceの同時押し音が結構します。カタカタカタガシャコンカタガシャコン!みたいな感じです。

そしてもう一つ、それは押しやすすぎて手癖になった点です。Ctrl + Spaceは押しやすいので手癖になってしまった上に、トグル式なので、日本語と英語の切り替えのミスが多発しました。必要以上に押してしまうのです。たとえば何か文章を書いていて、日本語から英語に切り替えようとした際に、手癖で押してしまう(無意識) + 変えよう(意識)と思って2回押してしまって日本語に戻ってきてしまうという何ともな珍事を多発したのです。もはや歳です。悲しいです。

色々考えた結果、実はWindowsの半角/全角キーって結構いいなと思い始めました。ガシャコンとならないし、微妙に押しづらい位置にあるので手癖になりづらく、一旦落ち着いて正確にトグル切り替えができるような位置です。

Windows方式のAlt (Cmd) + `という案

で、Windowsの半角/全角がいいなら、それをすればいいじゃないと思い立って閃いたのがこのCmd + `という案。いや、これを設定してる人あんまいないんじゃないかと。僕は天才かと思いました。

このCmd + `はWindowsで言えばちょうどAlt + `になります。で、WindowsのUS配列のデフォルトでの日本語切り替えはこのAlt + `になっているのです。

macユーザーからすればなんでそんな微妙なショートカット?と思いますが、日本語配列の半角/全角キーの位置(つまり1の左隣)がUS配列だと`になっています。もちろん単推しだとただ、`が入力されるだけですが、Altを押しながらその位置を押すことで半角/全角として動作する仕様になっているのです。

ちなみに、HHKBだと`の位置は一番右上です。位置は違いますが、もちろんWindowsに接続してAlt + `を入力すればHHKBでも日本語切り替えがされます。

このショートカットですが、もちろんCtrl + Spaceと比較してだいぶ押しづらい位置にはあります。ホームポジションから手は離れるでしょう。その代わり手癖による日本語切り替えミスは劇的に減りました。だって慎重になるんだもの。

そして、`の位置はHHKBだと右上の端なので、遠いけれでも打ち間違えはしないという絶妙なラインを攻めています。他のキーボードの場合は`は左上になるわけですが、両方とも上段端なので頭のスイッチの切り替えはしやすいです。

HHKBの場合、僕は左手の親指でCmdを押しながら、右手の薬指か小指でスッと押して切り替えています。
スペースキーの同時押しに比べて`は軽いタッチで押せる(キーが軽い)ので押しやすいですし押し心地もいいです。そして何より静かです。カタカタカタ..サクっ カタ サクッといった感じです。

設定画面

Cmd + `が何とバッティングしていたら困るなと思っていたのですが、何ともバッティングしませんでした。そりゃこんな微妙なショートカット設定しないよね。

WindowsはそもそもAlt + `が日本語切り替えなので、両OSで切り替え設定を同じにできちゃうという嬉しい副産物もあります。

旅は終わる。。のか?

さて、完全にここまで僕の日記を書いたわけですが、果たしてこれでこの旅は終わるのでしょうか。。
このnoteを描いてる最中も、また新たにCapsLockを使うという案が浮上してきています。この旅はまだ終わりを迎えていないようです。最後にそのCapsLockを使う案を紹介して終わりたいと思います。

CapsLock案

ここまでnoteを書いていて、そういえばCapsLockを使う案もちょっと考慮したなと思い出しました。

macOSでもWindowsでもこのCapsLockを日本語切り替えにするというのは結構おすすめされていて、OSの設定からきちんと設定することができます。

Windowsの場合は、何もしなくてもJIS配列なら単推しで切り替えができるのですが、US配列の場合はCapsLock単推しの場合はCapsLockとして動作するため、Shift + CapsLockで日本語切り替えが可能です。これ、ちょっと押しにくいのが難点ではありますが、設定なしのでデフォルトの挙動なので悪くはないです。

macの場合も、設定から、CapsLickを切り替えとして使うことができるようです。こちらは単押しで切り替えられます。しかも長押しするとCapsLockとして機能もするのでキーを潰すこともなくベストな選択肢だと思います。

唯一残念な点は、HHKBの場合、CaplsLockキーは単体で存在しないため、Fn + Tabキーの同時押しになる点です。ちょっと押しづらいかなぁとも思っています。

ちょっと押しづらいかなぁと思っていたのですが、Cmd + `と正直そこまで変わらないかもですね。。しかもこっちの場合は、HHKBじゃなければより快適なので尚いいのかもとも思い始めてきました。
ただ、実際使ってみると、Tabが誤爆するケースがちょっと気になります。Cmd + `で`が誤爆しても入力されるだけですが、Tabの場合、場合によってはフォーカスが移ったりして思わぬ誤操作も引き起こしそうで怖いですね(ていうかやりかけた)

Windowsの場合も同様に誤爆した時がちょっと難点で、Windowsの場合はミスった時にCapsLockが動く点があります。Shift + CapsLockするときに、CapsLockを先に押してしまうとCapsLockがONになってしまうので、そこは実際使ってみて嫌だなぁと思う点ではありました。

終わり

さて、これで本当に終わりです。書いた書いた。HHKBのブログをHHKBで書けるというのは幸せなことですね😌

この記事が気に入ったらサポートをしてみませんか?