IBM UltraNavキーボードSK-8845のキーコンフィグを最小限弄って使い易くする
さて、いつ購入したのかも不明なほど古いIBM USB Travel Keyboard UltraNav付きSK-8845ですが、Lenovoになってから追加購入した2台目の方が通販で記録が残っていて2008年4月お値段8,925円、となっているのですが、1台目は実店舗購入だったかもしれないのと記憶の限りでは14,000円近くしていたような気がします。
製品自体が消えてしまう前にスペアを購入しておこうと思ったのですが、残念ながらLenovoになってからのものは見た目はIBMの印字がThinkPadに変わった位の差しか無かったのですが、キーボードの押下感が異様に悪化していて、使い込めばそのうち角が取れてくるだろうか?と思っていましたが全然そんなことはなく、結局、IBM時代の壊れた部分を補うだけの部品取りになってしまっています。
(その後のThinkPad Compact USB Keyboard with TrackPoint KU-1255も変なフリクションは相変わらずでしたので、Lenovoになってからのキーボードはあんまり信用していません。しかもKU-1255は通電しなくなったし。)
こちらのキーボード、そこそこ出来の良いタッチパッドがそこそこ良い位置にある、というくらいのそこそこ加減でありながら、単体キーボードとしては唯一無二レベルの使い勝手の良さがある(ポインティングデバイスとの総合で評価点が高い)ので、他にいくつもキーボードは所持しているのに、結局、この恐らく筆者が所持している中では一番古いこのタッチパッド付きキーボードを今でもメインで使用するという現状が続いています。
が、当然、そこそこですので、不満点があります。(それで他に移ったりするけど、結局他の不満の方が大きいので戻って来てしまうのです。)
やはり縦に7段あるキーボードは絶対的なキー数が充実している反面最上段が遠く、特に比較的使用頻度の高い[Esc]キーがめちゃくちゃ遠いのが今では結構なデメリットです。
[Home][End][PgUp][PgDn]キーも右上隅と遠く、右下隅にあるカーソルキーと大きく離れてしまっているのもちょっといただけないポイントになります。
元々PC/ATとかDOS/V機時代ではほぼ主役だった(ような気がする。間違っていたらスミマセン)IBMの意地なのか[Win][Menu]キー(いわゆる田と目)のWindows用便利キーが無い、というのも弱点。
その一方で、これは歴史の流れ上仕方無い部分もありますが日本語キーボードではかな漢字変換関連のキーがあちこちに分散されて点在しており、今となってはほとんど使用しない無駄キーが結構良い場所に鎮座していたりします。
[全角/半角][英数][無変換][変換][カタカナひらがな]キーと5つもありますが、例えばカタカナなんて直に打つことなど筆者は無く、ひらがなで打ってカタカナに変換した方が(途中で予測変換できたりするので)便利なので[カタカナひらがな]キーとか完全に遊んでいます。
あ、ここでちょっと脱線して昔作成した図を発見したのでここに再掲したいと思います。
非常にSK-8845の影響を受けているキーボード配列の図ですが、それでも[Esc]キーを一段下げて、[Win][Menu]キーを追加していたりしますね。
筆者が昔からこの部分には大きな不満を持っていたことが良く分かります。
んで、実際IBMからLenovoになってから[Esc]キーを一段下げたり、[Win][Menu]キーを追加していたりと変化して来ているのですが、同時に操作感が悪化しているので……。
というわけで、ちょいちょいこの辺りのキーをどうにか利便性を高めたい、と標準のキー配列から弄ってみたりしていたんです。
筆者がググった限りですと、キーのカスタマイズといえば、xkbとかxmodmap。(Windowsではレジストリを弄っていました。)
ところが、xkbとかxmodmapでは困ったところがありました。
Visual Studio Code、いわゆるVScodeでは効いてくれません。また、VirtualBOX上で起動したOSにも効きません。
VScodeはちょっと「なんだてめぇわざと嫌がらせでやってるだろ?」って思わなくもないことも無いのですが、VirtualBOX上のOSはまぁ仕方無いかって感じでしょうか。
長いことこれで我慢していたのですが、つい最近、xkbとかxmodmapより低レイヤーのマッピングを変更してしまえば良いという情報に辿り着くことが出来まして、それで一気にキーコンフィグが楽になりました。
筆者が辿り着いた情報はこちら『Linux で X よりも低レイヤでキーマップを変更する』です。ありがとうございます。
筆者がちゃんと理解していないので間違ったことを書くかもしれませんが、xkbとかxmodmapはいわゆるGUIでしか効かないところでの変更になるわけで、GUI上のアプリのみに作用します。
VirtualBOXはその手前のキー情報をゲストOSに転送してしまうので効かないというわけですね。VScodeもGUI上で動くアプリなはずですがxkbとかxmodmapが作用する手前のキー情報を拾ってしまうみたいです。
押下したキーのコードそのものの定義を変更してしまうので、例えば[Shift][Ctrl][Alt]キーなどと組み合わせたときにはまた異なったキーコードにしたい(例えば通常は「a」だけど[Shift]押しながらのときは「A」じゃなくて「B」にしたい)などということは出来ないかと思います。(xkbとかはその辺も自由にできたかと)
効率追求を考え始めると、ついつい沢山コンフィグしたくなってしまいます。
例えば、標準の配列では親指が遊びがちなのと、[Space]と[Enter][BackSpace][Delete]が離れているのは非効率という考え方をして[Space]周辺に[Enter][BackSpace][Delete]を固めて親指に分担させて効率向上を試みる、なんてことも考えたりしました。
しかし、使用する全てのPCで同じ様なコンフィグが十分に行えるとは限りません。キーボードによってはキー数が足りなくて成立しなくなったりもします。
例えば筆者のメインPCはXubuntuですが、WindowsのPCもまだ沢山残っています。キーボードなんかはBluetooth3.0 7-8インチタブレット向け超小型タッチパッド付きキーボードなんていう59キーしかキー数が無いキーボードも所持していて、これを小説執筆のメインキーボードとして使用していますので、ここで大きく趣向の異なるコンフィグにしてしまうと個別対応のコストが筆者の脳と身体に降り掛かるようになるわけです。
キー配列を弄って効率向上と謳っている方によると、「配列の種類が多少増えたところで身体が覚えるから問題無い」的な記述を良く見かけるのですが、筆者は能力が低いせいかそうは思えません。
違いがあったら、違いがあることに意識を割いていないと筆者は打ち間違いが増えてかえって効率が落ちてしまいます。
なので、筆者としては多少自身の脳コストが増える、ということを念頭に置いて、それでもコンフィグした方が効率が上がるか?という観点で考えるようにしています。
筆者は既にローマ字かな変換の部分で筆者独自のキーコンフィグを実施しております。
今はその内容は別のサイトに置いていまして、こちら『日本語入力の効率が気になる連盟』にあるのですが、(そのうち改題して内容も変更するつもりではいますが現状放置してしまっています。)
これは筆者にとっては独自の配列を新たに覚えることになってでも効率化が見込めると考えられたのでそうしたわけで、実際個人の感想に過ぎませんが、日本語の入力効率は上がっていると思います。
それでも、筆者は新たな配列を覚えるコストを気にして、基本的には配列を覚えなくても使えるような配列にしています。ホームポジションに置いたところの指で順番に「かさたな」、上に「はまやら」、下に「がざだ」、余った1つに「わ」、ホームポジションから少し指を動かさす必要があるところに「ばぱ」みたいなノリで、右手はホームポジションの置き方をちょっと工夫して、親指を[N]に置くようにして親指から「あいうえお」が各指の独自ホームポジションで打てるようにしてその周辺に単独で打てる「んっやゆよ」や小文字「ー〜」などを配置していて、基本的に左手右手を交互に打つような形になるのでQWERTYに比べてリズムが崩れにくく、また「かさたなはまらがざだわぱぱ」は母音の「あ」を打たずに省略することも可能としているためキー押下数そのものも少なくできる配置にしています。
恐らく、文章を打ったときの運指の距離とかをスコア化して最適化しているようなキー配列にはそういうスコアでは全く勝てないであろう筆者の独自配列ですが、新規に配列を覚えるコストが少なく済みつつ確実に打ち易くなっているという点では(筆者にとっては)最高なので独自の配列を使い続けています。
それでも、偶に頭が全然働いていないときにふとアルファベットと日本語打ちの配列の違いを混同してしまうことが全く無いわけではないのです。
だから、スコアばっかり最適化して、予め出来上がっている文章の入力に全力を注げるような状態でしか効率化が見込めないような難し過ぎるコンフィグは少なくとも筆者には実使用に耐えません。
筆者は考えるのと文章入力を同時進行することがほとんどですので、入力作業に脳のリソースを奪われたくないのです。
そういう意味では配列を極力簡素化した自分の配列が自分に一番合っています。
で、ようやく本題。
Xubuntu上で動く全てのアプリケーションに対して通用するキーコンフィグができるようになりましたので、改めて、上記のようにキーコンフィグで独自配列にすることによる筆者側の負担増も考慮に入れながらIBM UltraNavキーボードSK-8845の入力効率向上策を練ってみたい、と、こういうわけです。
上述したように[Space]周辺に[Enter][BackSpace][Delete]を固めて親指の有効活用という線も考えたのですが、そもそも筆者は日本語入力において右手親指のホームポジションを[N]キーに置く筆者独自の配列を採用していて親指の稼働率は上がっています。
なんなら、今日本語入力して気が付いたのですが、[H]キーまで右手親指で打っているときがありますね。筆者の独自配列ではこのキーは「や」が単独一発で入力出来るようになっています。(子音を打つ左手薬指の「や」とは別に母音として打てる右手親指または人差し指の「や」があります。母音としての「や」は他の子音との組み合わせで「きゃ」等の拗音になります。)
それに(話を戻しまして)、標準から大きく配列を変更してしまうことになるので、同じような配列にできない(主にキー数が足りないなど)キーボードとの乖離が大きくなってしまうので複数の配列を覚える必要が生じて筆者の負担が大きいです。
ならば、日本語入力周りのキーを整理して、余ったキーに[Win][Menu]キーを割り当てる方向で進めてみます。
それに先立って、[Esc]キーが遠過ぎる問題はSK-8845特有の問題でして、他のキーボードでは多くても6段キーボードなので[Esc]キーは[F1]キーの左にあることが多く、いわゆる左上でそんなに酷く遠い位置でなければOKかと思います。
そうなると、[Esc]キーの行き先の候補は[全角/半角]キーが有力です。
ここに来ると、59キーしかないミニキーボードでは元々[1]キーの左が[Esc]キーになっているので、それとも整合性が取れて良い感じです。
逆に言うと、そもそも59キーのキーボードでは英語配列であることもあって日本語入力周りのキーはさっぱり存在していません。唯一[CapsLock]キーは[英数]キー兼用ですので、ここは変わらないところです。
そして、[無変換][変換]キーなのですが、筆者はこのキーを今まで有効活用出来ていた試しが無くて、SK-8845ではこのキーを良く[Win][Menu]キーに割り当てていたりもしました。
筆者は[変換]は[Space]キーで行いますし、[無変換]は[Esc]キーを押下していたので、全く使用していなかったんですね。
なお、ひらがな/カタカナ/英数全角/英数半角の切り替えを[F6]〜[F9]キー(だったっけ?)で行っている方も多いと思いますが、筆者も昔は多用していたのですが、59キーのキーボードを使うようになってから[F1]〜[F12]キーは押し辛くなってしまったので、多用するこれらの切り替えは[Ctrl]+[u][i][o][p]キーを使用するようにしました。
昨今では日本語入力の切り替えを[全角/半角]キーでトグル切り替えとするのではなく、[変換]キーで日本語入力モードに、[無変換]キーで直接入力モードに切り替えではなく絶対的に移行するような動きが主流になってきているかと思います。
筆者もトグル切り替えだと、現在の状態を確認するときに試しに1度切り替えてみる、みたいな操作を行うことが多くて、これ無駄だなあと思っていました。
現在の筆者のデスクトップ環境では日本語入力の状態を常時表示することが出来ないので、フォーカス切り替え時に一瞬表示される状態表示の見逃さないようにするか、ポインタを左隅まで動かしてデスクトップバーを表示させ(筆者のデスクトップバー左寄せです)て確認するか、さもなくば一旦切り替えてみるか取り敢えずエイヤッと打ち込んでみるという方法しか無かったので、ここがとても非効率的でした。
ですので、ここで本格的に日本語入力の切り替えは[無変換][変換]キーで絶対的に行うようにしました。
現在の状況が日本語入力なのか直接入力なのか不明でも、取り敢えず入力したいモードの方のキーを打ってしまえばそちらで確定するようになったので、思いの外これが便利です。親指で押下しますので、遊んでいた親指の有効活用にも繋がり、いちいち[全角/半角]キーまで左手小指を伸ばさなくても良くなりましたので。左手小指の負担も減ります。
さあこれで[全角/半角]キーが空きましたので堂々と[Esc]キーをここに持って来ましょう。
そして、これで空いたキーと未使用のキーが1つずつあります。
[Esc]キーと[カタカナひらがな]キーです。
この2つのキーに[Win][Menu]キーを割り当てれば、最小限のコンフィグで入力効率の向上が見込めそうです。
筆者のメインPCがWindowsだった頃は[Win]キーの使用頻度が高く、上記の筆者作のキーボード配列図なんかでは左右2箇所に[Win]キーがあるくらいだったのですが、Xubuntuに移行してからは使用頻度が程良く低下しています。
ですので、[Win]は最上段の[Esc]キーの位置で良いでしょう。
となると、残りの[Menu]キーは[カタカナひらがな]キーの位置です。
元々[Win]キーは左側、[Menu]キーは右側にあることが多いですので、他との差異も少なく済みます。
というわけで、最小限のキーコンフィグでIBM UltraNavキーボードSK-8845をより使い易くする試みをしたのですが、良い結果が出ています。
日本語入力関連の切り替えが非常にスムーズになりました。副次的な効果で[英数]キーも有効活用できるようになってきており、[全角/半角]キーからの呪縛が解けた効果は絶大に感じています。
欲を言えば、[英数]キーも切り替えじゃなくて一発で日本語入力の英数モードに固定化出来れば良かったのですが、現状のシステムではそのような設定が出来ませんでしたので、ここだけは日本語入力モードにしてからの切り替えになってしまっています。
まあ、それでもこの辺りの入力のストレスはかなり軽減された気がします。
予測変換なんかでは[Tab]キーを押下したりしますので、ここの[英数][Tab][Esc]の並びがスッスッとテンポ良く押せて良い感じです。
また、Webブラウジングなどしているときは右手がタッチパッドないしはカーソルキー及び[Home][End][PgUp][PgDn]キー辺りをうろつきますが、左手は親指がクリックボタンに、小指が[Esc]キーに置いている状態を自然に作っていて、[Home][End][PgUp][PgDn]キーが遠いのだけはどうしようもありませんが、意外と手を置いた状態のままでシームレスに操作できる場面も多くなりましたので、とても使い易くなったと思います。
7段の最上段に[Esc]キーという状態ではとても手が届きませんでしたので、効果絶大です。
問題はもうこのタッチパッド付きキーボードが新品で入手不可能。古過ぎて中古で探そうとしても割に合わない。という点ですよね。
これがダメになったら単品のキーボードとPERIPAD-501 Ⅱを組み合わせてどうにか凌がねばならない。
実は最近、TEXのShinobiというIBM UltraNavキーボードを模したキー配列とポインティングスティックを持ちながらメカニカルキーボードでキーコンフィグの自由度も高い、という製品が凄く気になっていたのですが、これ、タッチパッドが付かないのよね。
タッチパッドが付いてくれたら即買いしたいくらいなのですが、ううむ。
なんたって、[Fn]キーも含めてコンフィグ可能だし、[Fn]キー押下したときに各キーを全く異なる配列にすることも可能なので、凄く魅力的なんです。
大抵の場合、[Fn]キーの効果って限定的でかつ融通が効かないですからね。
んでも、じゃあこのキーボードにPERIPAD-501 Ⅱ合わせれば……ってパームレストがデカ過ぎて邪魔になってしまって良いところにタッチパッドを置けないんですよ。
本体を部分的にぶった切るとかしなければならない。しかし、軽々と2万円を超える製品にそんなことをする度胸は筆者には無いなあ。
んで、またしばらくこのSK-8845で頑張ろうとか思う今日この頃だったり。