ノートパソコンで長時間労働すると肩がこるなど疲労がたまります。そこで分離型キーボードです。Kinesis社のエルゴノミクスキーボードなど魅力的なキーボードはいくつかありますが、以下のようなデメリットがあります。
- 値段が高い
- 手がでかい外国人用なので遠くが若干打ちづらい
- キーボードの分離幅を気分でカスタマイズしたい
- キーボードがでかくて机が狭くなる
- 重くて持ち運びが厳しい
そして色々考えた結果、5年ほど前に安いテンキー2個で分離型キーボードを実現するのが一番という結論に達して、ここ5年、業務でも4年ほど使用し続けました。動画は以下です。
キーの割り当てはかなり考えました。まずは「タイプ数カウンター」というソフトでデータをためました。ためたデータの集計は以下のとおりです(このカウント自体、この独自配列はじめたあとに収集したものだと気づきました…)。
key_name | count |
---|---|
ctrl | 966407 |
u | 301564 |
t | 237536 |
bs | 227530 |
s | 207693 |
n | 196818 |
enter | 189156 |
e | 175790 |
a | 166899 |
h | 158900 |
space | 134650 |
left | 125984 |
shift | 124190 |
i | 122057 |
right | 109367 |
down | 96574 |
o | 94534 |
k | 69776 |
up | 67637 |
r | 53913 |
f | 49240 |
m | 41529 |
d | 40515 |
b | 37284 |
c | 35741 |
alt | 33907 |
l | 31798 |
g | 25996 |
p | 24879 |
y | 24305 |
v | 23990 |
tab | 23721 |
2 | 16459 |
0 | 15436 |
j | 15340 |
del | 14499 |
1 | 14237 |
w | 13841 |
x | 12504 |
9 | 11958 |
z | 10619 |
8 | 10242 |
7 | 6712 |
3 | 5429 |
5 | 5231 |
q | 5002 |
esc | 4436 |
4 | 3042 |
6 | 2661 |
others | 272 |
集計ではどのキーからどのキーへタイプがつながりやすいかなどのn-gramは分からないのは難点ですが、それでも自分を見つめなおす情報に満ちています。当時はたしか窓使いの憂鬱で移動キーをCtrl+hとかしているためかとにかくCtrlを押す頻度が多いのが分かります。あとはこのデータを取った頃はCtrl+uをBSにしていたのでuも多いですね。楽しいですがこれを考慮に入れて割り当てるのにかなり試行錯誤しました。
悩んだところその1は使用する言語によってよく使う記号が異なる点です。当時はRubyとC++とRをよく使っており、どれかを優先させればどれかが少し使いにくくなるので迷いました。その他の思い出は、僕は日本語をローマ字変換で打つので「子音を右のテンキーに母音を左のテンキーに配置することで速く打てる」という情報を見つけて、やってみましたが思ったより差はないように思います(僕がタイプがそんなに速くないためかもしれません)。「キーを押す頻度を右と左で均等にすることで手の負荷が均等になる」という情報を見つけて5:5ぐらいになるように配置してみましたが、左手が圧倒的に疲れます。最終的に右:左を6:4ぐらいになるようにしました。あとは小指を使うのがかなり苦手なのでなるべく小指の負担の軽い配置にしました。
最終的にここ最近ずっと使っている配列は以下の通りです。まずはデフォルトの状態から。
次に「記」キー(記号キー)を押したままにするとキーマップが以下のように変化して記号などが入力できるようになります。
数字のキーマップは省略していますが、実際にはほぼ記号と同様な感じで設定しています。
以降ではその実現方法について述べます。 OSはWindows 7, 8, 8.1 (32bit/64bit)で今まで運用しました。今回は64bitとして説明します。使用するソフトウェアは以下のとおりです。
- HidKeySequence v1.22 URL1, URL2
- XKeymacs URL (必須ではありません)
- AutoHotKey URL (必須ではありません)
HidKeySequence
HidKeySequence(以下HKS)はテンキーに普通のキーを割り当てることができるようになるツールです。このソフトの前はMagicKeyPadというソフトを使っていました。HKSのメリットは全く同じテンキーを2つつなげてもHIDデバイスを別個に認識ができる点、Mac用のテンキーを認識できる点、キーリピートに対応している点です。最高です。 デメリットは開発者さまのWebページとtwitterアカウント(お世話になりました)が消えてしまった点、コマンドプロンプトやIEなどキーイベントが独自のもの(?)では正常に動作しない点です。
僕はメリットを最高に生かして以下のようなキーボードを2つつなげて使っています。「00」キーがあるテンキーは、単に「0」キーのイベントを2連続発生させるものであって新たなキーを割り当てできないのでイマイチです。
エレコム テンキー Bluetooth パンタグラフ Mac対応 薄型 シルバー TK-TBPM01SV
- 発売日: 2018/07/30
- メディア: Personal Computers
設定画面のスクリーンショットは以下の通りです。一個ずつGUIで設定していきます。
XKeymacs
64bit版OSの場合はリンク先の「xkeymacs-110830.zip」の方をインストールする必要があります。こちらは歴史のあるソフトで使い方はいくらでもネット上にあります。
僕は主にEmacsの「set-mark-commond」をCtrl+Spaceに、「save-buffer」「Cut/Copy/Pate」「undo」とあとはカーソル移動系のみ設定しています。「set-mark-commond」と移動系は数少ない妥協できないポイントです。十字移動はviライクで行頭行末・ファイル頭ファイル末移動はEmacsライクに設定しています。
AutoHotKey
有名なソフトです。タイプ数を減らすための補助的な割り当てに使っています。一番よく使っているのは起動しているソフトをアクティブにする時です。例えば以下のように「Alt+r」に「Rが起動していたらアクティブにする、起動していなかったら起動してアクティブにする」というコマンドを割り当てる時に使います。「Alt+Tab」とか二度手間でイライラしますのでおすすめです。
!r:: IfWinExist,ahk_class Rgui WinActivate else Run,"C:\Program Files\R\R-3.2.1\bin\x64\Rgui.exe" --internet2 Sleep,100 IfWinNotActive,ahk_class Rgui WinActivate Return
この他にはエディタとファイラのキーバインド設定が重要でしょうか。ここでは深く触れませんが、XKeymacsとAutoHotKeyとうまく住み分けることがポイントで、なるべくエディタやファイラで十分対応できる時はそちらを優先しています。
今さらこんな記事を書く理由はWindows10にあげる予定があって、今まで使っていたいくつかのソフトが使えなくなるかも、ということで書いています。いわば遺書なのです。今までソフトの開発者さま方、本当にありがとうございました。