Tôi nghĩ rằng tôi có một kỹ thuật để vô hiệu hóa việc bật Capslockphím nhưng không hoàn toàn vô hiệu hóa tất cả các phím cùng nhau hoặc ánh xạ lại nó sang một phím khác trên bàn phím.
Nếu bạn sử dụng lệnh:
setxkbmap -option caps:none
Bàn phím sẽ không còn chuyển đổi. Tôi đã xác nhận điều này trên máy tính xách tay chạy Fedora 14, đèn LED không còn sáng nữa và Capslockchức năng bình thường không còn nữa.
Tuy nhiên, sử dụng xev vẫn cho thấy phím đang được nhấn:
$ xev
...
...
KeyPress event, serial 35, synthetic NO, window 0x6800001,
root 0xb1, subw 0x0, time 261504852, (167,-15), root:(353,268),
state 0x10, keycode 66 (keysym 0xffffff, VoidSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 35, synthetic NO, window 0x6800001,
root 0xb1, subw 0x0, time 261504971, (167,-15), root:(353,268),
state 0x10, keycode 66 (keysym 0xffffff, VoidSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
...
Vì vậy, các sự kiện được nhấn phím vẫn còn nguyên cho các ứng dụng khác chọn chúng.
setxkbmap
Các tập tin /usr/share/X11/xkb/rules/xorg.lst
chứa danh sách đầy đủ các tùy chọn bạn có thể cung cấp cho setxkbmap
.
Cắt qua tập tin này cho "cap" Tôi nhận thấy dòng này:
caps:none CapsLock is disabled
Có các giá trị khác trong tệp này vì vậy nếu đây không phải là giá trị mà bạn có thể là một trong những giá trị thay thế đó sẽ thay thế.
$ grep cap /usr/share/X11/xkb/rules/xorg.lst
grp:caps_switch CapsLock (while pressed), Alt+CapsLock does the original capslock action
grp:caps_toggle CapsLock
grp:shift_caps_toggle Shift+CapsLock
grp:shift_caps_switch CapsLock (to first layout), Shift+CapsLock (to last layout)
grp:alt_caps_toggle Alt+CapsLock
lv3:caps_switch CapsLock
lv3:caps_switch_latch CapsLock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)
ctrl:nocaps Make CapsLock an additional Ctrl
ctrl:swapcaps Swap Ctrl and CapsLock
grp_led:caps CapsLock
caps CapsLock key behavior
caps:internal CapsLock uses internal capitalization. Shift "pauses" CapsLock
caps:internal_nocancel CapsLock uses internal capitalization. Shift doesn't affect CapsLock
caps:shift CapsLock acts as Shift with locking. Shift "pauses" CapsLock
caps:shift_nocancel CapsLock acts as Shift with locking. Shift doesn't affect CapsLock
caps:capslock CapsLock toggles normal capitalization of alphabetic characters
caps:numlock Make CapsLock an additional NumLock
caps:swapescape Swap ESC and CapsLock
caps:escape Make CapsLock an additional ESC
caps:backspace Make CapsLock an additional Backspace
caps:super Make CapsLock an additional Super
caps:hyper Make CapsLock an additional Hyper
caps:shiftlock CapsLock toggles Shift so all keys are affected
caps:none CapsLock is disabled
compose:caps CapsLock
shift:breaks_caps Shift cancels CapsLock
shift:both_capslock Both Shift-Keys together toggle CapsLock
shift:both_capslock_cancel Both Shift-Keys together activate CapsLock, one Shift-Key deactivates
Tài liệu tham khảo