giải pháp xmodmap
Tôi nghĩ bạn có thể làm điều này bằng cách sử dụng xmodmap , một công cụ để sửa đổi các keymap. Vì bàn phím của tôi không có Superphím bên phải nên tôi không thể xác nhận giải pháp này, vì vậy vui lòng để lại nhận xét nếu nó không hoạt động.
Tất cả các bước được thực hiện trong một thiết bị đầu cuối
In bản đồ sửa đổi hiện tại
Chạy
xmodmap
Điều này sẽ in bản đồ sửa đổi hiện tại giống như thế này
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Dòng quan trọng là mod4
dòng, dòng này hiển thị mã khóa nào được ánh xạ tới các ký hiệu khóa Super_L và Super_R.
Sao lưu bản đồ khóa
Trước khi chúng tôi thay đổi bất cứ điều gì, nên sao lưu bản đồ khóa hiện tại, chúng tôi có thể thực hiện việc này với
xmodmap -pke > ~/.xmodmap.orig
Bây giờ nếu có gì sai, bạn chỉ cần gõ
xmodmap ~/.xmodmap.orig
để khôi phục bản đồ khóa ban đầu của bạn. (Nếu bạn mắc một số lỗi nghiêm trọng và bạn không thể gõ đúng nữa, khởi động lại cũng hoạt động)
Kiểm tra sơ đồ khóa hiện tại cho các Super khóa
Giả sử các Superkhóa có mã khóa liên tiếp (0x85 và 0x86 trong trường hợp này), chúng ta có thể kiểm tra ánh xạ hiện tại bằng cách chạy
xmodmap -pke | grep -wA1 $((0x85))
Tất nhiên là bạn nên thay đổi 0x85 bằng mã khóa bạn có từ bản đồ sửa đổi. Điều này sẽ cung cấp cho bạn
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R
( $((0x85))
chuyển đổi số thập lục phân thành số thập phân)
Sao chép hành vi của bên trái Super sang bên phải Super
Như bạn có thể thấy từ bước trước, Superkhóa bên phải có mã khóa 134 nhưng chúng tôi muốn nó có hành vi của Superkhóa bên trái có mã khóa 133. Chúng tôi có thể thực hiện việc này bằng cách ánh xạ lại khóa bằng cách sử dụng
xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"
Kiểm tra nếu nó hoạt động
Nếu bây giờ bạn làm
xmodmap -pke | grep -wA1 $((0x85))
bạn nên thấy
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L
có nghĩa là cả hai khóa hiện có cùng một hành vi. Ngoài ra, bản đồ sửa đổi nên đã thay đổi trên dòng với mod4
, chúng ta có thể kiểm tra điều này bằng cách chạy
xmodmap | grep 'mod4'
cái nào nên cho
mod4 Super_L (0x85), Super_L (0x86), Super_L (0xce), Hyper_L (0xcf)
Và tất nhiên các phím tắt mà bạn đề cập cũng nên hoạt động!
Tạo ánh xạ liên tục
Nếu nó hoạt động, bạn có thể đảm bảo rằng các cài đặt này được tự động áp dụng khi bạn khởi động. Chạy
echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc
để lưu trữ ánh xạ khóa tùy chỉnh của bạn trong tệp ~/.xmodmaprc
. Chạy
echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc
để đảm bảo bản đồ khóa tùy chỉnh được thực thi khi trình quản lý cửa sổ của bạn tải.
Settings Manager -> Keyboard
, có một lựa chọn như thếexo-open --launch TerminalEmulator
nào? Nếu vậy, nó nói gì trong cột thứ hai, phím tắt?