alt, meta and cmd keys
IBM PC/AT 由来のキーボード (以下「PC キーボード」) には大抵 "Z" と "X" の下側に ALT キーが付いていて,装飾キーの一つとして機能する.Windows では ALT + F4 や CTRL + ALT + DEL を使わない日は無いし,メニューバーへのアクセスにも使えるので個人的には大変重宝している.
端末エミュレータや Emacs 系のアプリケーションでは ALT キーを META キーとして機能させることができる (あるいはデフォルトでそのように設定されている).Windows では ALT + F 等の入力がメニューに奪われてしまうため意図通りに機能しないこともあったり特別な設定を要することもあるが,TeraTerm や xyzzy, Eclipse 等は通常の ALT キーとのコンビネーションを META として解釈し,単独で ALT を押し離すとメニューバーにキーボードフォーカスが移るという気の効いた仕組みになっている.Putty の場合はそもそもメニューバーが存在しない.
META キーとは Sun 由来のキーボードに付いている装飾キーらしく,位置も PC キーボードの ALT と同じ場所なので PC キーボードに於ける META キーを ALT キーとして扱うのは妥当と言えるだろう (Sun キーボードには META の外側に ALT が付いているのだが,どのような用途で使われていたのかは知らない).そもそも昔は他に当てるキーがなかったわけだし,ALT キーの外側に Windows キーが付くようになっても,それらを META キーとして使う習慣のある人を見たことがない (というか Windows キーは ALT よりも更にシステムグローバルな機能が最初から割り当てられているし,おいそれと使うものではないという印象).
ここで強調しておきたいのは ALT キーの位置で,冒頭で述べた通り "Z" と "X" の下にあるキーが ALT であり META であるべきだ.Windows キーの位置にあるキーは利用頻度の高い装飾キーとしては使いづらい.
ややこしいのが Sun 由来の HHK で,やはり内側に META,外側に ALT と書かれたキーが配置されている.PC に繋ぐと外側の ALT と書かれた方のキーを ALT として認識する上に,HHK Lite 以前のモデルは外側の ALT の挙動をカスタマイズできないときた.泣ける.Sun の文化は知らないが,IBM PC の世界では ALT とは (以下略).PC で HHK を使う連中は内側を ALT/META として使っていると信じて疑っていないのだがどうだろう.
大体,端末エミュレータや Emacs 系アプリを使っている時に Mac 由来の Cmd 系ショートカトを必要とすることなどまずない (いや,実は Cmd + V だけ微妙に要るかも…).そういうアプリの利用時は Mac を Mac として使っているわけではないからだ.にも関わらず Terminal も iTerm も Eclipse も本来の Cmd バインドを優先して META を Option に追い遣ることしか考えていない.VMware Fusion が最悪で,ゲストで Windows を操作しているにも関わらず Option に Alt をマップしやがる!! 正気か?
一方,Carbon Emacs がデフォルトで Cmd を META に割り当てていて非常に助かっている.Cmd + V 問題は Kill-Ring をクリップボードと連動させることで回避していた.素晴らしい.そういえば Chicken of the VNC も Windows を操作する際に Cmd が Alt にマップされていたと記憶している.
META を Cmd に割り当てるべく iTerm をリビルドして使っている人もいるようだが,個人的には任意のアプリで Cmd と Option を入れ替えるようなユーティリティがあれば全て解決すると思う.どなたかご存知ないだろうか.