Fn +キーのキーコードを見つける方法は?


12

Fn+ キー押下(左矢印)のキーコードを見つけようとしています。Xev出力

FocusOut event, serial 36, synthetic NO, window 0x3c00001,    mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 36, synthetic NO, window 0x3c00001,    mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 36, synthetic NO, window 0x0,    keys:  4294967213 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0              0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  

ここでキーコードを教えている場合、私はそれを解釈することができないので、助けをいただければ幸いです。

また、何かをFn+ にバインドできるかどうかを知りたいのですDelが、この組み合わせを試すと、Xevが出力します

KeyPress event, serial 36, synthetic NO, window 0x3c00001,
root 0xad, subw 0x0, time 1984903, (-666,480), root:(53,533),
state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
XLookupString gives 1 bytes: (7f) " "
XmbLookupString gives 1 bytes: (7f) " "
XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x3c00001,
root 0xad, subw 0x0, time 1985008, (-666,480), root:(53,533),
state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
XLookupString gives 1 bytes: (7f) " "
XFilterEvent returns: False

これは、を押さdelない場合とまったく同じFnです。

だから、短い要約

  1. Fn+ (左矢印)のキーコードを見つけるにはどうすればよいですか?

  2. 何かをFn+ にバインドすることさえ可能Delですか、それとも私はここで風車に直面していますか?

回答:


18

これがどれだけ完全に明確であるかはわかりません。

押されたキーのキーコードを表示するには、などを使用できますsudo showkey -k。私の場合、これはFn+ に対して印刷されます

keycode 165 press
keycode 165 release

私のキーボードでは、これはメディアキーの1つです(前のトラック)。以下のために同じFn+ Delショー70、ここでキーコード(スクロールロック)など。

現在、これに関する一般的な問題はFn、keybordレベルで機能し、送信される実際のスキャンコードを変更する修飾キーになる可能性があるようです。そのFnため、OSまたはBIOSのどの部分もそれを見ることができないため、押されているかどうかをまったく知ることができない場合があります。そうでない場合、BIOSはこのキーが押されたことを確認できる場合があります。一部のハードウェアメーカーは、この方法でFnキーの動作を変更するために使用できるソフトウェアを提供しています(例:Toshibas Fnesse)。

そのため、一般的に、それFnが押されたことを知る方法はなく、スキャンコードとキーの組み合わせのキーコードはFn、個々のキーボードの設計に依存します。


1
あなたの答えを心から受け入れます。あなたが間違っていたならいいのですが、それはあなたが説明したとおりです。明確な答えをありがとう。
バドワイズЯ11年

興味深いことに、Razer Lycosaキーボードで、前のメディアの「ボタン」を押すと、キーコード165が生成されます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.