特定のキーストローク (コマンドではない) をエミュレートするキーボード ショートカットを作成するにはどうすればよいですか?

特定のキーストローク (コマンドではない) をエミュレートするキーボード ショートカットを作成するにはどうすればよいですか?

Delete私は Mac で Ubuntu 19.10 を使用しているため、キーボードにキーがありません。

Fnそのキーをエミュレートするには、 +を使用できますが、 +Backspaceのような別のキーの組み合わせを選択したいと思います。これは可能ですか?SuperBackspace

答え1

これは役に立ちます:

まず第一に:/usr/share/X11/xkb/symbols/pcターミナルで次のコマンドを実行して、XKB ファイルを編集します。

sudo nano /usr/share/X11/xkb/symbols/pc

第二に:この行を見つけます:

key <BKSP> {    [ BackSpace, BackSpace  ]   };

//そして、その前に次のように追加してコメントアウトします。

//key <BKSP> {  [ BackSpace, BackSpace  ]   };

第三に:次のコードをコピーしてコメント行の下に貼り付けます。第二にその上:

key <BKSP> {
    type= "PC_SUPER_LEVEL2",
    symbols[Group1]=  [ BackSpace, Delete ]
};

ファイルを保存します。

第四に:ターミナルで次のコマンドを実行して、XKB キャッシュをクリアします。

sudo rm -rf /var/lib/xkb/*

ついに:新しい xkb 構成を有効にするには、システムを再起動するか、ターミナルで次のコマンドを使用して xkb マップ レイアウトを設定し、新しい xkb 構成を再ロードします。

setxkbmap -layout us

新しいキーの組み合わせをテストします。


この解決策により、Super+ を押すとキーをBackspace押すのと同じように動作するはずですDelete

組み合わせをShift+に変更Backspace するには、PC_SUPER_LEVEL2PC_SHIFT_LEVEL2第三に その上。

答え2

コマンドは特定のキー操作をエミュレートすることができます。これを行う1つの方法は、カスタムショートカットを作成して実行することです。xdotoolソース) の上設定 > キーボード > カスタムショートカット:

スクリーンショット

答え3

いいえ、全体的にそれを行うことはできません、Fn別のキーとして見ることはできません、これによると答え:

Fn実際には比較できません。これは、オペレーティング システムによって直接インターフェイスできないハードウェア キーです。Fnと別のキーを押すと、まったく異なるコードがオペレーティング システムに送信されます。
この例としては、XF86AudioMute、XF86Eject などがあります。オペレーティング システムは、Fnが押されているかどうかを検出できません。

パッケージを使用すれば可能になると考えていましたgnome-tweaks

キーボードとマウス->追加のレイアウトオプション

いいえ、各特殊キー(基本キーからCtrl古いMetaキーまで)の動作を定義することはできますが、Fnソフトウェア キーではないため、その機能を変更することはできません。

そのエミュレーションを実行するためのカスタム ショートカットを作成できますDeleteが、コマンドが必要でした。

関連情報