Hóa ra đồng nghiệp của tôi cũng gặp vấn đề tương tự. Với sự cho phép của anh ấy, đây là giải pháp hiệu quả ngay lập tức:
Đầu tiên chạy cái này và cuộn đến thông tin về bàn phím
Chạy mèo /proc/bus/đầu vào/thiết bị | ít hơn
I: Xe buýt=0005 Nhà cung cấp=004c Sản phẩm=026c Phiên bản=0160
N: Name="Bàn phím ma thuật có bàn phím số"
P: Phys=44:e5:17:96:76:24
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0/bluetooth/hci0/hci0:256/0005:004C:026C.0007/input/input38
U: Uniq=c4:14:11:03:c2:de
H: Trình xử lý = đèn led sysrq kbd event20
B: DỰ ÁN=0
B: EV=120013
B: KEY=10000 0 0 1 1007b00001007 ff9f207ac14057ff ffbeffdffffeffffff ffffffffffffffffe
B: MSC=10
B: ĐÈN LED = 1f
Bây giờ hãy tạo một id theo cách này:
evdev:input:b<bus_id>v<vendor_id>p<product_id>e<version_id>-<modalias>
Trường hợp phiên bản và phương thức không quan trọng. Tôi nhận được điều này:
evdev: đầu vào: b0005v004Cp026C*
Tiếp theo tạo tập tin này
vv/udev/hwdb.d/60-applekeyboard.hwdb
Tôi không nghĩ tên quan trọng nhưng tôi không chắc chắn.
Tệp phải chứa ID chúng tôi vừa tạo và ánh xạ lại các khóa:
# Táo thần
evdev: đầu vào: b0005v004Cp026C*
KEYBOARD_KEY_700e2=tráimeta
KEYBOARD_KEY_700e3=leftalt
Làm thế nào để bạn tìm thấy những cái tên? chỉ cần thực hiện sudo evtest
tìm bàn phím của bạn và nhấn phím bạn muốn thay đổi.. Đầu ra trông như thế này:
Sự kiện: thời gian 1644400418.762658, loại 4 (EV_MSC), mã 4 (MSC_SCAN), giá trị 700e3
Sự kiện: thời gian 1644400418.762658, loại 1 (EV_KEY), mã 56 (KEY_LEFTMETA), giá trị 1
Sử dụng đầu ra đó để tạo khóa mong muốn và thay đổi.
Tiếp theo, sudo chạy các lệnh này để cập nhật:
cập nhật systemd-hwdb
điều khiển udevadm --reload-rules
kích hoạt udevadm
Sau đó, bạn đã làm xong.