Next: Mouse Events, Previous: Keyboard Events, Up: Input Events [Contents][Index]
ほとんどのキーボードにはファンクションキー(function keys)があります。これは名前や文字以外のシンボルをもつキーです。Emacs
Lispではファンクションキーはシンボルとして表現されます。そのシンボル名はファンクションキーのラベルの小文字です。たとえばF1とラベルされたキーを押下すると、シンボルf1で表される入力イベントが生成されます。
ファンクションキーのイベント型はイベントシンボル自身です。Classifying Eventsを参照してください。
ファンクションキーにたいするシンボルの命名規約には、以下のような特別なケースがいくつかあります:
backspace、tab、newline、return、deleteこれらのキーは、ほとんどのキーボードにおいて特別にキーをもつ、一般的なASCIIコントロール文字に対応する。
ASCIIではC-iとTABは同じ文字である。端末がこれらを区別できるならEmacsは前者を整数の9、後者をシンボルtabで表現することによってLispプログラムにこれらの違いを伝える。
ほとんどの場合はこれらの2つを区別するのは役に立たない。そのためlocal-function-key-map
(Translation Keymapsを参照)はtabを9にマップするようセットアップされている。したがって文字コード9(文字C-i)へのキーバインディングはtabにも適用される。このグループ内の他のシンボルも同様である。関数read-charがこれらのイベントを文字に変換する場合も同様である。
ASCIIではBSは実際はC-hである。しかしbackspaceは文字コード8(BS)ではなく、文字コード127(DEL)に変換される。ほとんどのユーザーにとってこれは好ましいだろう。
left、up、right、down矢印カーソルキー
kp-add、kp-decimal、kp-divide、…キーパッドのキー(標準的なキーボードにおいては右側にある)。
kp-0、kp-1、…キーパッドの数字キー。
kp-f1、kp-f2、kp-f3、kp-f4キーパッドのPFキー。
kp-home、kp-left、kp-up、kp-right、kp-downキーパッドの矢印キー。Emacsは通常これらを非キーパッドのキーhome、left、…に変換する。
kp-prior、kp-next、kp-end、kp-begin、kp-insert、kp-delete通常は他の箇所にあるキーと重複するキーパッド追加キー。Emacsは通常これらを同じような名前の非キーパッドキーに変換する。
ファンクションキーにたいしても修飾キーALT、CTRL、HYPER、META、SHIFT、SUPERを使用できます。シンボル名のプレフィクスとしてこれらを表します:
アルト修飾。
コントロール修飾。
ハイパー修飾。
メタ修飾。
シフト修飾。
スーパー修飾。
したがってMETAを押下した場合のF3キーにたいするシンボルはM-f3になります。複雑のプレフィクスを使用する場合には、アルファベット順の記述を推奨します。とはいえキーバインディングが修飾されたファンクションキーを探す際に引数の順序は関係ありません。