Next: , Previous: , Up: 入力イベント   [Contents][Index]


22.7.2 ファンクションキー

ほとんどのキーボードにはファンクションキー(function keys)があります。これは名前や文字以外のシンボルをもつキーです。Emacs Lispではファンクションキーはシンボルとして表現されます。そのシンボル名はファンクションキーのラベルの小文字です。たとえばF1とラベルされたキーを押下すると、シンボルf1で表される入力イベントが生成されます。

ファンクションキーのイベント型はイベントシンボル自身です。イベントの分類を参照してください。

ファンクションキーにたいするシンボルの命名規約には、以下のような特別なケースがいくつかあります:

backspacetabnewlinereturndelete

これらのキーは、ほとんどのキーボードにおいて特別にキーをもつ、一般的なASCIIコントロール文字に対応する。

ASCIIではC-iTABは同じ文字である。端末がこれらを区別できるならEmacsは前者を整数の9、後者をシンボルtabで表現することによってLispプログラムにこれらの違いを伝える。

ほとんどの場合はこれらの2つを区別するのは役に立たない。そのためlocal-function-key-map (イベントシーケンス変換のためのキーマップを参照)はtabを9にマップするようセットアップされている。したがって文字コード9(文字C-i)へのキーバインディングはtabにも適用される。このグループ内の他のシンボルも同様である。関数read-charがこれらのイベントを文字に変換する場合も同様である。

ASCIIではBSは実際はC-hである。しかしbackspaceは文字コード8(BS)ではなく、文字コード127(DEL)に変換される。ほとんどのユーザーにとってこれは好ましいだろう。

leftuprightdown

矢印カーソルキー

kp-addkp-decimalkp-divide、…

キーパッドのキー(標準的なキーボードにおいては右側にある)。

kp-0kp-1、…

キーパッドの数字キー。

kp-f1kp-f2kp-f3kp-f4

キーパッドのPFキー。

kp-homekp-leftkp-upkp-rightkp-down

キーパッドの矢印キー。Emacsは通常これらを非キーパッドのキーhomeleft、…に変換する。

kp-priorkp-nextkp-endkp-beginkp-insertkp-delete

通常は他の箇所にあるキーと重複するキーパッド追加キー。Emacsは通常これらを同じような名前の非キーパッドキーに変換する。

ファンクションキーにたいしても修飾キーALTCTRLHYPERMETASHIFTSUPERを使用できます。シンボル名のプレフィクスとしてこれらを表します:

A-

アルト修飾。

C-

コントロール修飾。

H-

ハイパー修飾。

M-

メタ修飾。

S-

シフト修飾。

s-

スーパー修飾。

したがってMETAを押下した場合のF3キーにたいするシンボルはM-f3になります。複雑のプレフィクスを使用する場合には、アルファベット順の記述を推奨します。とはいえキーバインディングが修飾されたファンクションキーを探す際に引数の順序は関係ありません。