バックスペースキーを大文字にするなど、setxkbmap
いくつかのオプションがあるようです。-option caps:backspace
しかし、バックスペースキーをEscキーにするオプションが見つからないようです。バックスペースキーをEscキーに変更する単一のsetxkbmapコマンドをどのように生成できますか?
ベストアンサー1
新しいオプションを定義する必要があります。まず、次の内容などを含む
新しいシンボルファイルを作成します。/usr/share/X11/xkb/symbols/bksp
partial alphanumeric_keys
xkb_symbols "bksp_escape" {
key <BKSP> { [ Escape ] };
};
次に、次のように新しいオプションを作成します。
bksp:bksp_escape = +bksp(bksp_escape)
(ここでbksp
はシンボルファイルの名前、bksp_escape
このファイルに定義されているグループ名です)使用しているルールセットのオプションのリストに追加します。仮定のもとに下にevdev
置いてください。/usr/share/X11/xkb/rules/evdev
! option = symbols
! option = symbols
bksp:bksp_escape = +bksp(bksp_escape)
...........
grp:shift_toggle = +group(shifts_toggle)
altwin:menu = +altwin(menu)
また、以下を/usr/share/X11/xkb/rules/evdev.lst
簡単な説明で以下に追加してください! option
(例:before ctrl
)。
! option
........
bksp Backspace key behavior
bksp:bksp_escape Backspace as Escape
ctrl Ctrl key position
ctrl:nocaps Caps Lock as Ctrl
その後、通常のユーザーとして実行できます。
setxkbmap -layout us -option bksp:bksp_escape
オプションを有効にして次のBKSPことを確認することもできますESC。
setxkbmap -query
レポート:
rules: evdev
model: pc104
layout: us
options: bksp:bksp_escape
そして、
setxkbmap -print
出力:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)+bksp(bksp_escape)" };
xkb_geometry { include "pc(pc104)" };
};
dconf
Gnome 3では、(またはターミナルで)以下を追加してオプションを永久に作成できますgsettings
。'bksp:bksp_escape'
org> gnome>デスクトップ>入力ソース> xkb-optionsキー(dconf
値はカンマ+スペースで区切られています)。
最後に、どちらも将来のアップグレードで上書きされるevdev
のでevdev.lst
(カスタムシンボルファイルではありません)、それを所有するパッケージをアップグレードするたびにbksp
(archlinuxで)再編集する必要があります。xkeyboard-config
これを行うスクリプトを書く方が簡単です。
sed '/! option[[:blank:]]*=[[:blank:]]*symbols/a\
bksp:bksp_escape = +bksp(bksp_escape)
' /usr/share/X11/xkb/rules/evdev
sed '/! option/a\
bksp Backspace key behavior\
bksp:bksp_escape Backspace as Escape
' /usr/share/X11/xkb/rules/evdev.lst
結果がうまくいけば、実際に次のようにファイルを編集しますsed -i
(または-i.bak
バックアップコピーを作成したい場合)。所定の位置に。