キーボードから脱出するためにCaps Lockを再マップしようとしています。私は前に試しました次のソリューションAskUbuntuで成功せずに発見されました。
$ xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"
$ xmodmap -e "keycode 66 = Escape NoSymbol Escape"
$ setxkbmap -option caps:swapescape
私は何をすべきですか?
答え1
xkbを使用してこれを行うには、次のことをお勧めします。
- 再インストールが必要な場合は、変更を再適用できるようにカスタムキーマップを保存するディレクトリを作成します。私はディレクトリを作成することを選択した後、次の内容を含むファイルを作成しました(カスタムで私の呼び出しを
~/.settings/keyboard/
選択しました)。uc
us
c
default partial alphanumeric_keys
xkb_symbols "uc" {
name[Group1]="uc";
include "us(basic)"
key <ESC> { [Caps_Lock] };
key <CAPS> { [Escape] };
};
その後、次のようにファイルへのシンボリックリンクを作成できます。
cd /usr/share/X11/xkb/symbols/
sudo ln -s ~/.settings/keyboard/uc uc
次のコマンドを使用して、リンクが正しいファイルを指していることを確認してください。
ls -l /usr/share/X11/xkb/symbols/uc
setxkbmap uc
これにより、Xサーバーの実行中にこれらのキーを切り替えるコマンド(すべてが期待どおりに機能していることを確認することをお勧めします)を使用するのに十分です。 (メモ:Waylandは実際にキーマップを設定していませんが、次の手順を実行してキーボードメニューに移動し、英語(カスタム)をトップレベルのキーボードレイアウトに設定してから再起動する必要がありました。キーボードメニューで複数のレイアウトを選択した場合は、右上に表示されるen
レイアウトをクリックして英語(カスタム)を選択し、キーボードレイアウトを表示を選択してレイアウトをロードする必要があります。
- この変更を永久に適用するには(とにかくCinnamonで動作するキーボードメニューからこの新しいキーボードレイアウトを使用できるようにするには)、ファイルもコピーします。
sudo cp /usr/share/X11/xkb/rules/evdev.xml ~/.settings/keyboard/
次に、次のようにレイアウトを含めるようにファイルを編集し、<layoutList>
セクションに次を挿入します。
...
<layoutList>
<layout>
<configItem>
<name>uc</name>
<shortDesciption>uc</shortDescription>
<description>English (Custom)</description>
</configItem>
</layout>
...
...
</layoutList>
(<layoutList>
および</layoutList>
ファイルにすでに存在するので、新しいレイアウトを追加するだけです。)
次のコマンドを使用すると、キーボードメニューからこのキーボードレイアウトを選択できます。
cd /usr/share/X11/xkb/rules
sudo mv evdev.xml evdev.xml.original
sudo ln -s ~/.settings/keyboard/evdev.xml evdev.xml
その後、キーボード設定メニューを開くと、希望のキーボードレイアウトを含む英語(カスタム)というレイアウトが表示されます。このメニューでキーボードレイアウトに設定すると、ログインするたびに変更が保持されます。
役に立ったことを願っています!
答え2
インストールを試みるhttps://github.com/sezanzab/input-remapper(Ubuntuではそれをやってくださいsudo apt install input-remapper
。そこからキーを再マップできます。