Bạn sẽ phải xác định một tùy chọn mới.
Đầu tiên, tạo một tệp ký hiệu mới, ví dụ /usr/share/X11/xkb/symbols/bksp
với nội dung sau:
partial alphanumeric_keys
xkb_symbols "bksp_escape" {
key <BKSP> { [ Escape ] };
};
Sau đó tạo tùy chọn mới như thế này:
bksp:bksp_escape = +bksp(bksp_escape)
(trong đó bksp
tên của tệp biểu tượng và bksp_escape
là tên nhóm được xác định trong tệp này) và thêm nó vào danh sách tùy chọn trong các quy tắc bạn đang sử dụng - giả sử evdev
- vì vậy hãy đặt nó vào /usr/share/X11/xkb/rules/evdev
bên dưới ! option = symbols
:
! option = symbols
bksp:bksp_escape = +bksp(bksp_escape)
...........
grp:shift_toggle = +group(shifts_toggle)
altwin:menu = +altwin(menu)
Thêm nó vào /usr/share/X11/xkb/rules/evdev.lst
(với một mô tả ngắn) bên dưới ! option
(ví dụ ngay trước ctrl
):
! option
........
bksp Backspace key behavior
bksp:bksp_escape Backspace as Escape
ctrl Ctrl key position
ctrl:nocaps Caps Lock as Ctrl
Sau đó, bạn có thể chạy, như một người dùng thông thường:
setxkbmap -layout us -option bksp:bksp_escape
để kích hoạt tùy chọn và thực hiện BKSPnhư ESC.
Bạn cũng có thể xác minh nếu:
setxkbmap -query
báo cáo:
rules: evdev
model: pc104
layout: us
options: bksp:bksp_escape
và nếu
setxkbmap -print
đầu ra:
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)" };
};
Trong Gnome 3, bạn có thể đặt tùy chọn vĩnh viễn qua dconf
(hoặc gsettings
trong thiết bị đầu cuối), ví dụ: thêm 'bksp:bksp_escape'
vào org> gnome> desktop> input-nguồn> xkb-tùy chọn (lưu ý rằng trong dconf
các giá trị được phân tách bằng dấu phẩy + dấu cách).
Cuối cùng, lưu ý rằng cả hai evdev
và evdev.lst
sẽ được ghi đè lên các bản nâng cấp trong tương lai (nhưng không phải bksp
tệp biểu tượng tùy chỉnh của bạn ) vì vậy bạn sẽ phải chỉnh sửa lại mỗi lần gói sở hữu chúng được nâng cấp (trên archlinux xkeyboard-config
). Viết kịch bản thực hiện điều đó dễ dàng hơn, vd
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
Nếu bạn hài lòng với kết quả sử dụng sed -i
(hoặc -i.bak
nếu bạn muốn tạo bản sao dự phòng) để thực sự chỉnh sửa các tệp đó tại chỗ .