Email: Takayama Fumihiko <tekezo@pqrs.org>

[MacOSX] SandS (Space and Shift) でシフトキーを親指で押して小指を守ろう!

小指は酷使しますよね

最近、左手の小指を痛めて非常に辛い思いをしました。 もうシフトキーとか辛いんです。 とても。

奇遇にも shinh さんも痛めている ので、小指問題は UNIX 使いで SKK 使いの方の共通の悩みなんだと思います。

僕はおよそ年に 3 回くらい小指が痛くなって悲しい気分になっています。

で、Mac OS X の万能キーボードリマッパである KeyRemap4MacBook をいじって、スペースキーをシフトキーとして使うようにしました。

(単発スペースキーはスペースとして動作します。 スペース押しながら 1 押すと ! になる感じ)。

KeyRemap4MacBook をインストールして space2shift と space2shift_shift2space を有効にすれば OK。

$ sudo sysctl -w keyremap4macbook.remap.space2shift=1
$ sudo sysctl -w keyremap4macbook.option.space2shift_shift2space=1

もうコレが便利で素晴しい感じで小指問題に悩んでいる人にオススメです。

便利ポイント

  • スペースキーはどちらの手でも叩けるので、!@#$ とかのときは右手でスペース、*()_ は左手でスペースと使い分けが出来る。
  • 左手小指が Control 専用になって負荷が大きく軽減。
  • ほぼ通常のキー配列のママなので慣れるまでのコストが超低いよ(まぁ 3 時間くらいで慣れます)

デメリット

  • 仕組み上、単発スペース入力に慣れが必要。
  • おそらく他の人はあなたの Mac を使えなくなります。

今現在のキーボード

親指でシフトを打てると Control も親指にしたくなるのと、 MacBook Pro の CapsLock キーが壊れてしまったので 左 CMD を Control にしています。

あと escape を打ち易いところに持ってくるのも超オススメです。 Firefox とかの使い勝手が天と地ほど違います。

keyboard.png

  • Return は Ctrl + M で済むので、 Option にする。 (これで M-x とかの効率 UP)
  • Firefox などの各種キャンセル処理に Escape キーを使うので、打ちやすい位置にもってくる。
  • tilde は HHK 互換の位置に。 (Shift + delete => tilde)
  • 左 command + A 〜 L は command + F1 〜 F9 にして仮想ディスプレイを切り替える。
  • 一応、生の shift や command が必要な場面もあるので、普段使わないキーに割り当てておく。
  • 一応、生の return が必要な場面もあるので、enter キーに割り当てる。

ちなみに KeyRemap4MacBook のオプションを以下のように指定すると上のキーマップになります。

keyremap4macbook.remap.homeposition_functionkey: 1
keyremap4macbook.remap.deleteshift2tilde: 1
keyremap4macbook.remap.return2option: 1
keyremap4macbook.remap.shift2escape: 1
keyremap4macbook.remap.space2shift: 1
keyremap4macbook.remap.option2shift: 1
keyremap4macbook.remap.swap_commandl_control: 1
keyremap4macbook.remap.drop_funcshift: 1
keyremap4macbook.option.homeposition_functionkey_add_cmd: 1
keyremap4macbook.option.space2shift_shift2space: 1

謝辞

ハイブリッド親指シフト (= SandS) は harpy さんの Silent Humming に多大な影響を受けています。 サーバが燃えたようでご愁傷さまです。

更新履歴

  • 2007-10-10 今現在のキーボードを更新。
  • 2007-06-11 公開。

Comments for This Page.
Date: 2007-10-10 01:00 (JST)