Caps LockをShiftに、Shift LeftをControlに再マップしたいのですが、現在左側のコントロールを変更せずにそのままにして、コントロールとしても機能したいと思います。
この質問で提案されているように setxkbmapを使用して左Shiftと左Controlを置き換える
このスクリプトを書くためにxkbを使用しました。
partial modifier_keys
xkb_symbols "my_key_remap" {
replace key <LFSH> { [ Control_L ] };
replace key <CAPS> { [ Shift_L ] };
};
この方法はうまくいきますが、新しい交代勤務制御は機能しないようです。を使用してテストしたとき、xev
左シフトがコントロールにマップされていることがわかりました。ただし、通常のコントロールを押すと、xevが一度応答してからキーを押すのを待ちます。ただし、新しいShiftコントロールを使用すると左側のコントロールとして表示されますが(まだキーコード50にもかかわらず)、キーイベントは通常のコントロールキーのように1回だけ発生するのではなく複数回発生します。
ただし、Shift-Controlが唯一の左側のコントロールである新しい行を追加するとreplace key <LCTL> { [ Shift_L ] };
(元のコントロールキーを削除する)、期待どおりに機能し、xevはキーを押しても単一のキーイベントのみが発生することを報告します。
どんなアイデアがありますか?