思考の速度でパソコンを使う技術

http://d.hatena.ne.jp/fromdusktildawn/20070212/1171244226
私と似たようなことをやってる人がいる。親指で押せるキーをスイッチとして、ホームポジション周辺の文字キーをカーソルキーなどの編集キーとして使うというアイディア。
私のやり方はモードレス(親指で [変換] を押してる間だけ文字キーが編集キーに化ける)なのに対し、彼のやり方はモーダル([Space] を押すとテキストモードになり、 [変換] を押すとコマンドモードになる)なのが決定的に違う。テキストモードとコマンドモードをモーダルに切り換えるやり方は vi で歴史的失敗を晒していると思うんだけど…? 特に日本語環境では「テキストモード/コマンドモード」×「IME ON/IME OFF」=4個のモードを使い分けなきゃならなくて必ずわけわかめになる罠。
ソフトウェア板のキーカスタマイズソフトスレ を読むと、同様のアイディアを実践してる人がたくさん(数十人オーダーで)いることがわかる。つまり、それだけのアイディアが公知にならないまま埋もれている。それどころか、ネット上に発表されたアイディアですら(私を含め)ほとんど全部が独り言レベルにとどまっていて、考案者自身以外にユーザーを獲得してるものなんてないような気がする。*1

というようなことをまとめて、本にしようかなと思ったのですが、どうなんですかね?

と彼は言うけれど、…どうなんだろう。まずは埋もれてるアイディアの掘り起こしと集積、議論の場として Wiki でも立ち上げたらいいんじゃないでしょうか。私も参加しまっせ。

*1:これが日本語入力方式の最適化となると関心を持つ層がだいぶ厚くなるんだけどなぁ。コマンド入力の最適化に関心を持つ人はどっちかというと欧米(非 IME 文化圏)に多い気がする。日本語入力の最適化余地 ≫ コマンド入力の最適化余地 ってことか。

Phase 12i

とか書いておきつつ自分自身、 Phase 12f 以来キーボードの話を書いてないことに気づいた。そんなに大きくは変わってないんだけど最新版を貼り付けておく:
http://mobitan.org/kb/keymap/phase12i.png
download phase12i.mayu
少し説明が必要かもしれない。

  • 1枚目の左上、 [Esc] の上にあるのはシャットダウンキー。これを押すと5秒後にシャットダウンが始まる。「今日の作業終わり〜。さあ、寝るか」ってときはこのキーをバシッとたたいてベッドに倒れ込むw
  • かな漢字変換は「[変換] で変換 → [Space] で確定」という流れ。よくあるパターンとして、たとえば検索エンジンに日本語を入力して Enter を押す場合「右親指 → 左親指 → 右小指」という具合にきれいな交互打鍵になるので気持ちいい。
  • 2枚目は [変換] = モディファイヤ Mod0 を押してる間のレイアウト。数字キーがファンクションキーに、英字キーが編集キーになる。 戻る は Alt+[←]。 進む は Alt+[→]。 Undo は Ctrl+[ Z ]。 Redo は Ctrl+[ Y ]。 Cut は Ctrl+[ X ]。 Copy は Ctrl+[ C ]。 Paste は Ctrl+[ V ]。その他のよくわからんキーは右側に説明が書いてある通り。
  • Mod0 を押してる間に限り [Space] が Shift になる。これは Shift+カーソルキー による範囲選択を 両親指+英字キー で実現するため。
  • 3枚目は [Win] を押してる間のレイアウト。英字キーがランチャーになる。たとえば Win+[ B ] は Becky! を起動、 Win+[ / ] はエクスプローラでごみ箱を開く、という具合。
  • あとはアドホックな拡張になるけど、左手救済用として Win+[Esc]=Alt+[F4]、 Win+[Tab]=[Enter]、 Win+[Caps]=[Delete]。 Win+記号キー にはウィンドウに対する特殊な操作を割り当ててある*1

私の主張は「親指はモディファイヤとして最大限活用しろ」だ。 Shift は親指に専用のキーが欲しいし、 Alt も親指に持ってこれれば理想的。だったら左親指の [Backspace] と [Space] もワンショットモディファイヤにすればいいじゃん。と思うけど、実際使ってみるとダメ。ワンショットモディファイヤにするとロールオーバーが利かなくなるのだ。たとえば SandS に倣って「[Space] を押してる間は Shift 、離すと Space が入力される」という風にしてみたところ、「fuga hoge」と入力するつもりが「fugaHoge」になっちゃうミスが多発。なぜなら [Space] を離し終わる前に [ H ] を押し始めるから。このように、文字入力の流れの中で使われる [Space] や [Backspace] のようなキーはロールオーバー必須なのでワンショットモディファイヤ化できない。他方、 Mod0 や IME ON/OFF は文字入力との間に一拍おいて使われるのでワンショットモディファイヤ化しても問題ない。
かくかくしかじか親指まわりの試行錯誤を3年以上続けてきた結果として、この Phase 12i では右親指の2キーだけがワンショットモディファイヤになってるわけです。 OADG 規格の日本語キーボードではどうやらこれが限界だなぁ。これを超えるにはどうしても親指にキーがあと2つ必要。富士通のコンパクト親指シフトキーボードは見かけ倒しだし*2Kinesis のエルゴキーボードはやすやすと買える代物ではないし…。
われわれは次なるブレイクスルーを求めている。

*1:窓使いの憂鬱がサポートしてるから割り当ててみたけど、実際にはほとんど使わない。

*2:[親指左] と [無変換]、 [親指右] と [変換] がそれぞれ電気的には同じキーになってる。