Để định cấu hình bàn phím tiện dụng Microsoft 4000, chúng tôi phải tạo một tệp cấu hình có chứa khai báo bàn phím và các bản ghi để ánh xạ các phím.
Để làm như vậy, có ba loại thông tin chúng ta cần xác định:
- Loại bàn phím
- Phím
scancode
đó là phím thực tế trên bàn phím
- Phím
name
để gán chức năng mong muốn cho khóa đã chọn
Đầu tiên tìm loại bàn phím:
Trong terminal chạy lệnh sau:
lsusb
đầu ra xác định loại bàn phím:
...
Bus 004 Device 022: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0
...
Nó xuất hiện sau ID
. Trong trường hợp này là045e:00db
Thứ hai tìm scancode và tên của khóa.
Để xác định chúng, chúng tôi sử dụng evtest
chương trình ghi lại thông tin sự kiện của một thiết bị cụ thể trên thiết bị đầu cuối:
evtest
Nếu bạn không có chương trình, hãy cài đặt nó bằng cách chạy lệnh sau:
sudo apt-get install evtest
Bằng cách chạy evtest
chương trình, chúng tôi nhận được đầu ra sau đây:
No device specified, trying to scan all of /dev/input/event* Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Power Button
/dev/input/event2: PixArt USB Optical Mouse
/dev/input/event3: Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event4: Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event5: HDA Intel Front Headphone
/dev/input/event6: HDA Intel Line Out
/dev/input/event7: HDA Intel Line
/dev/input/event8: HDA Intel Rear Mic
/dev/input/event9: HDA Intel Front Mic
/dev/input/event10: HDA ATI HDMI HDMI/DP,pcm=3
Select the device event number [0-10]:
Đầu ra là khá nhiều tự giải thích, chèn số thích hợp cho bàn phím, đây là số 3
sau đó nhấn enter:
Làm như vậy, sẽ xuất ra nhiều thông tin trên thiết bị đầu cuối và kết thúc bằng các dòng sau:
...
Testing ... (interrupt to exit)
Event: time 1472203902.240594, type 17 (EV_LED), code 0 (LED_NUML), value 0
Event: time 1472203902.240594, -------------- SYN_REPORT ------------
Event: time 1472203902.281456, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70058
Event: time 1472203902.281456, type 1 (EV_KEY), code 96 (KEY_KPENTER), value 0
Event: time 1472203902.281456, -------------- SYN_REPORT ------------
Bây giờ với mỗi lần bấm phím trên bàn phím, nó sẽ loại bỏ thông tin phím. Ví dụ: phím Slash bên cạnh Shift phải hiển thị:
Event: time 1472205062.294078, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70038
Event: time 1472205062.294078, type 1 (EV_KEY), code 12 (KEY_SLASH), value 0
Event: time 1472205062.294078, -------------- SYN_REPORT ------------
Dòng đầu tiên của nhật ký chứa thông tin về khóa thực tế trên bàn phím, chẳng hạn như scancode
sau giá trị. Trong trường hợp này là 70038
Dòng thứ hai chứa thông tin chức năng được gán như tên của khóa. Trong trường hợp này là Slash . Kiểm tra các phím khác để tìm tên thích hợp của chúng.
Vì vậy, một cách ngắn gọn:
- Loại bàn phím của chúng tôi là: 045e: 00db
- Scancode của phím Slash là: 70038
- Tên của khóa để gán là SLASH
Sau khi thu thập thông tin cần thiết, chúng tôi tạo tệp cấu hình:
sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb
Nhấn i
để kích hoạt chế độ Chèn và gõ như sau:
keyboard:usb:v045Ep00DB*
KEYBOARD_KEY_70038=minus
Lưu và thoát bằng cách nhấn escape
rồi gõ :wq
và nhấn enter.
Sau đó chạy hai lệnh sau để cấu hình có hiệu lực:
sudo udevadm hwdb --update
sudo udevadm control --reload
Cuối cùng rút phích cắm bàn phím và cắm lại.
Một số lưu ý về tệp cấu hình:
- Định dạng của tệp phải chính xác như được hiển thị, không gian trước khi ánh xạ bản ghi là rất quan trọng.
- Thay vì
sudoedit
bạn có thể sử dụng bất kỳ trình soạn thảo văn bản nào khác, chỉ cần nhớ làm theo định dạng chính xác của tệp như được giải thích ở trên.
- Có hai ký tự được thêm vào loại bàn phím:
v
và viết p
tắt của nhà cung cấp và sản phẩm. Họ cũng quan trọng.
- Loại bàn phím được viết hoa trong tập tin cấu hình. Loại bàn phím của chúng tôi là 045e: 00db nhưng trong cấu hình, chúng tôi chèn v045Ep00DB *
- Scancode của khóa xuất hiện ngay sau đó
KEYBOARD_KEY_
- Tên khóa xuất hiện bằng chữ thường trong tệp cấu hình
- Bạn có thể tùy chỉnh khá nhiều phím trên bàn phím theo hướng dẫn này.