Fnキーを含むキーボードショートカットの定義


17

私は押しに慣れていますFn+をLeftシミュレートするためHomeのキーとFn+ RightのためにEnd

物理キーHomeEndキーを備えたキーボードでは、これらのFnキーボードショートカットを使用しても機能しません。

Ubuntu LinuxでカスタムFnキーボードショートカットをマップするにはどうすればよいですか?


1
Bindマルチメディアキーの可能な複製。これはおそらく問題の説明の正確な複製ではありませんが、同じ根本的なプロセスで解決されます。
ダニエルアンダーソン

HP Spectre x360(別のPgUpなどのキーがありますが)やDell XPSなどの最新(2018)ラップトップを使用している人はいますか?
MycrofD

1
私はLenovo Thinkpad X1 CarbonをFnキーとともに使用していますが、これはによってキーコード151として検出されxevます。Fnが押されている間LeftRightキーはイベントを生成しません。Fn+F2イベントを生成しませんが、期待どおりに動作します-ボリュームを下げます。
-Suor

回答:


16

AltやCtrlなどの修飾子とは異なり、Fnキーを押してもオペレーティングシステムに通知されることはありません。キーは他のキーのスキャンコードを変更するだけなので、Fn+ Rightを押すと、物理的に存在しなくてもEndキーをエミュレートしますが、OSによって区別することはできません。この動作はキーボードの電子回路によってのみ制御されるため、回路またはマイクロコントローラーをいじらずに変更することはできません。


2
このルールの例外であり、Macラップトップであるオペレーティングシステムとコンピューターが1つあります。実際にKarabinerを使用してこのキーを変更できます。また、ThinkPadはこのキーをオペレーティングシステムに送信しますが、Macのような修飾キーではありません。
ウィリアム

2
本当じゃない。キーの押下をxev示しFnます。
スール

1
まあ、Debian 10を搭載した私のDellマシンではxev、Fnキーが押されても何も表示されません。
ピエール

12

ほとんどのシステムでは、Fnキー自体を検出することはできませんが、次を使用して試すことができます。

$ xev | grep --line-buffered keysym

何の鍵を見つけるためにFn-LeftFn-Right送信を行います。(grepノイズを減らすだけです。)

運がよければ、これらのキーを押すと、重要でないキーストロークがマシンに送信され、それを再マッピングできます。

たとえば、私のシステムでxevは、Fn-Leftキープレスが実際にXF86AudioPrevイベントを送信することを示しています。

state 0x0, keycode 173 (keysym 0x1008ff16, XF86AudioPrev), same_screen YES,

これを簡単に再マッピングして、Home重要なイベントに変換できます。

$ xmodmap -e 'keysym XF86AudioPrev = Home'

End、PageUp、PageDownについても同じことができることを願っています。

残念ながら、押すとxevがユニークなものを受け取らない場合Fn-Left、運が悪いです。

Fn他の修飾キーのようにキー入力が直接送信されないのは本当に残念です。もしそうであれば、ソフトウェアを通じてその意味を設定する力がはるかに大きくなります。


残念ながら、私のラップトップのfnは、他のキーと同じようにキーアップイベントとキーダウンイベントに登録されません。ただし、他の1つのキーを押して再マップできます。
ウィリアム

5

xevターミナルで開きました。私が押したときに検出しShiftCtrlAlt、とWinSuper私が押されたとき)が、Fnキーを、それはそれを検出しません。

したがって、ソフトウェアはFnキーとは関係ありません。どのキーをソフトウェアに送信するかを決定するのはハードウェア次第です(例:HomeまたはEndキー)。

そのため、これを行うには、キーボードにすでに搭載されている必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.