tl; dr
Tôi mới mua một chiếc Logitech T630 . Đó là chuột Bluetooth hỗ trợ một số sự kiện bàn phím thông qua cử chỉ (PDF). Những cử chỉ này là tốt và bảnh bao nhưng tôi có ít sử dụng cho chúng. Tôi đang có một thời gian khủng khiếp để thoát khỏi chúng.
Tôi muốn làm như sau, theo thứ tự ưu tiên giảm dần:
- vô hiệu hóa những cử chỉ này
- ánh xạ lại các cử chỉ (Tôi nghĩ rằng không cần hack phần sụn hoặc thiết kế ngược trình điều khiển thiết bị Windows / OS X, điều này là không thể)
Tôi không muốn:
- sử dụng Windows
- vô hiệu hóa mọi cử chỉ
Để biết thêm thông tin, hãy đọc trên mạng
nút và cử chỉ
Mười ba sự kiện chuột có thể là:
- ấn chuột trái
- Nhấp chuột giữa
- nhấp chuột phải
- cuộn lên
- cuộn xuống
- cuộn sang trái
- cuộn sang phải
- vuốt cạnh trái
- vuốt cạnh phải
- hai ngón tay vuốt sang trái
- hai ngón tay vuốt sang phải
- chạm hai lần
- chạm hai ngón tay
Bảy cái đầu tiên theo thứ tự hệ điều hành ánh xạ chúng.
Chỉ có ba người đầu tiên là cơ khí, tất cả những người khác sử dụng bề mặt cảm ứng:
Tùy chọn GUI
Thiết lập trong Kubfox Trusty rất đơn giản, nhưng nó cung cấp rất ít hỗ trợ để định cấu hình các cử chỉ khác này.
Những cử chỉ này không liên quan đến:
- bàn di chuột (
synaptics
không chạy) - khả năng tiếp cận
- góc nóng
- cử chỉ chuột tiêu chuẩn
Tất cả các cài đặt liên quan đến những cài đặt đã được kiểm tra và tất cả chúng đều tắt.
cài đặt dòng lệnh
lomoco
Các lomoco
tiện ích để giúp đỡ cấu hình tính năng đặc biệt của Logitech USB chuột không được áp dụng.
xinput
Tôi nghĩ xinput
có thể cung cấp một số trợ giúp:
$ xinput --list | grep pointer
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Ultrathin Touch Mouse id=13 [slave pointer (2)]
$ xinput --list-props 13
Device 'Ultrathin Touch Mouse':
Device Enabled (144): 1
Coordinate Transformation Matrix (146): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (266): 0
Device Accel Constant Deceleration (267): 1.000000
Device Accel Adaptive Deceleration (268): 1.000000
Device Accel Velocity Scaling (269): 10.000000
Device Product ID (261): 1133, 45069
Device Node (262): "/dev/input/event11"
Evdev Axis Inversion (270): 0, 0
Evdev Axes Swap (272): 0
Axis Labels (273): "Rel X" (154), "Rel Y" (155), "Rel Horiz Wheel" (746), "Rel Vert Wheel" (265)
Button Labels (274): "Button Left" (147), "Button Middle" (148), "Button Right" (149), "Button Wheel Up" (150), "Button Wheel Down" (151), "Button Horiz Wheel Left" (152), "Button Horiz Wheel Right" (153), "Button Side" (1032), "Button Extra" (1033), "Button Unknown" (264), "Button Unknown" (264), "Button Unknown" (264), "Button Unknown" (264)
Evdev Middle Button Emulation (275): 0
Evdev Middle Button Timeout (276): 50
Evdev Third Button Emulation (277): 0
Evdev Third Button Emulation Timeout (278): 1000
Evdev Third Button Emulation Button (279): 3
Evdev Third Button Emulation Threshold (280): 20
Evdev Wheel Emulation (281): 0
Evdev Wheel Emulation Axes (282): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (283): 10
Evdev Wheel Emulation Timeout (284): 200
Evdev Wheel Emulation Button (285): 4
Evdev Drag Lock Buttons (286): 0
Lưu ý nhãn 13 nút:
$ xinput --get-button-map "Ultrathin Touch Mouse"
1 2 3 4 5 6 7 8 9 10 11 12 13
Tắt chúng đi không giúp được gì:
$ xinput --set-button-map "Ultrathin Touch Mouse" 1 2 3 4 5 6 7 0 0 0 0 0 0
Mặc dù, ví dụ, nó có thể biến nút chuột giữa thành nhấp chuột trái:
$ xinput --set-button-map "Ultrathin Touch Mouse" 1 1 3 4 5 6 7 0 0 0 0 0 0
xmodmap
Tương tự xinput
, kết quả tương tự:
$ xmodmap -e "pointer = 1 2 3 4 5 6 7 0 0 0 0 0 0"
inputkbd
Được đề xuất bởi elmicha dưới đây , điều này đang hoạt động ở cấp độ kernel, cố gắng thực hiện các cử chỉ dẫn đến các sự kiện bàn phím rỗng. Nên làm việc, nhưng cũng không có may mắn ở đây, với quy trình sau:
$ sudo input-kbd 4 > keymap # note the 4 is from /dev/input/event4
# edit the keymap to map any combination of keys to either 0 or 240 (KEY_UNKNOWN)
# e.g. change this:
# 0x700e0 = 29 # KEY_LEFTCTRL
# to this:
# 0x700e0 = 0 # KEY_LEFTCTRL
# or this:
# 0x700e0 = 240 # KEY_LEFTCTRL
$ sudo input-kbd -f keymap 4
$ sudo input-kbd 4 # should return the updated keymap
Sau khi làm điều này, sơ đồ cho thấy không có thay đổi.
xkbcomp
Điều này được đề xuất bởi X
hacker đầu vào Peter Hutterer , chắc chắn là một người đàn ông nên biết những gì anh ta đang làm. Tuy nhiên, không có may mắn:
$ xkbcomp -xkb $DISPLAY t630.xkb
# edit the keyboard description and replace the definition of any key to NoSymbol or VoidSymbol
# e.g. change this:
# key <LCTL> { [ Control_L ] };
# to this:
# key <LCTL> { [ NoSymbol ] };
# or this:
# key <LCTL> { [ VoidSymbol ] };
$ sudo xkbcomp -i 8 t630.xkb $DISPLAY # here the 8 is the id in xinput, names don't work
$ xkbcomp -xkb -i 8 $DISPLAY - # should return the updated keyboard description
Sau khi làm điều này, mô tả bàn phím cho thấy không có thay đổi.
Peter cảm thấy rằng điều này có khả năng là do thực tế X
bị nhầm lẫn về bản chất của thiết bị là bàn phím hoặc chuột, giống như lỗi này có vấn đề ngược lại. Điều này có thể giải thích tại sao tất cả các mặt hàng dự kiến khác không hoạt động. Tuy nhiên, ông cũng nói rằng sử dụng evdev
không nên hoạt động vì lý do tương tự.
evdev
Ban đầu có vẻ như nó hoạt động, nhưng nó cũng không. Điều này cố gắng tận dụng trình điều khiển đầu vào chung X
để đặt ánh xạ nút bằng cách nối thêm phần sau vào /usr/share/X11/xorg.conf.d/10-evdev.conf
hoặc /etc/X11/xorg.conf.d/10-evdev.conf
:
# custom for Logitech Ultrathin Touch mouse
Section "InputDevice"
Identifier "Logitech bluetooth Touch Mouse"
Driver "evdev"
Option "Name" "Ultrathin Touch Mouse"
Option "ButtonMapping" "1 2 3 4 5 6 7 0 0 0 0 0 0"
EndSection
Section "InputClass"
Identifier "Ultrathin Touch Mouse"
Option "ButtonMapping" "1 2 3 4 5 6 7 0 0 0 0 0 0"
EndSection
Điều này dường như hoạt động mà không có lỗi trong /var/log/Xorg.0.log
(sử dụng grep EE
) và xinput
xác nhận ánh xạ nút, nhưng nó không dẫn đến hiệu ứng mong muốn.
Điều này được biết là hoạt động cho T631, tuy nhiên.
sự kiện bàn phím
Vấn đề nằm ở chỗ, tôi nghĩ, trong thực tế là những cử chỉ này tạo ra các sự kiện bàn phím:
$ sudo evemu-record /dev/input/event4 | grep "E: "
# swipe edge right
E: 0.000000 0004 0004 458976 # EV_MSC / MSC_SCAN 458976
E: 0.000000 0001 001d 0001 # EV_KEY / KEY_LEFTCTRL 1
E: 0.000000 0004 0004 458979 # EV_MSC / MSC_SCAN 458979
E: 0.000000 0001 007d 0001 # EV_KEY / KEY_LEFTMETA 1
E: 0.000000 0004 0004 458795 # EV_MSC / MSC_SCAN 458795
E: 0.000000 0001 000f 0001 # EV_KEY / KEY_TAB 1
E: 0.000000 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 0.002980 0004 0004 458976 # EV_MSC / MSC_SCAN 458976
E: 0.002980 0001 001d 0000 # EV_KEY / KEY_LEFTCTRL 0
E: 0.002980 0004 0004 458979 # EV_MSC / MSC_SCAN 458979
E: 0.002980 0001 007d 0000 # EV_KEY / KEY_LEFTMETA 0
E: 0.002980 0004 0004 458795 # EV_MSC / MSC_SCAN 458795
E: 0.002980 0001 000f 0000 # EV_KEY / KEY_TAB 0
E: 0.002980 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
# swipe edge left
E: 3.306977 0004 0004 458978 # EV_MSC / MSC_SCAN 458978
E: 3.306977 0001 0038 0001 # EV_KEY / KEY_LEFTALT 1
E: 3.306977 0004 0004 458979 # EV_MSC / MSC_SCAN 458979
E: 3.306977 0001 007d 0001 # EV_KEY / KEY_LEFTMETA 1
E: 3.306977 0004 0004 458866 # EV_MSC / MSC_SCAN 458866
E: 3.306977 0001 00c1 0001 # EV_KEY / KEY_F23 1
E: 3.306977 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 3.310979 0004 0004 458978 # EV_MSC / MSC_SCAN 458978
E: 3.310979 0001 0038 0000 # EV_KEY / KEY_LEFTALT 0
E: 3.310979 0004 0004 458979 # EV_MSC / MSC_SCAN 458979
E: 3.310979 0001 007d 0000 # EV_KEY / KEY_LEFTMETA 0
E: 3.310979 0004 0004 458866 # EV_MSC / MSC_SCAN 458866
E: 3.310979 0001 00c1 0000 # EV_KEY / KEY_F23 0
E: 3.310979 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
# two finger double tap
E: 10.225976 0004 0004 458983 # EV_MSC / MSC_SCAN 458983
E: 10.225976 0001 007e 0001 # EV_KEY / KEY_RIGHTMETA 1
E: 10.225976 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 10.229986 0004 0004 458983 # EV_MSC / MSC_SCAN 458983
E: 10.229986 0001 007e 0000 # EV_KEY / KEY_RIGHTMETA 0
E: 10.229986 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
# two finger swipe left
E: 27.934977 0004 0004 589828 # EV_MSC / MSC_SCAN 589828
E: 27.934977 0001 0113 0001 # EV_KEY / BTN_SIDE 1
E: 27.934977 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 27.937983 0004 0004 589828 # EV_MSC / MSC_SCAN 589828
E: 27.937983 0001 0113 0000 # EV_KEY / BTN_SIDE 0
E: 27.937983 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
# two finger swipe right
E: 32.513990 0004 0004 589829 # EV_MSC / MSC_SCAN 589829
E: 32.513990 0001 0114 0001 # EV_KEY / BTN_EXTRA 1
E: 32.513990 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 32.516994 0004 0004 589829 # EV_MSC / MSC_SCAN 589829
E: 32.516994 0001 0114 0000 # EV_KEY / BTN_EXTRA 0
E: 32.516994 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
Theo như sơ đồ liên quan, chúng đề cập đến:
$ sudo input-kbd 4 | grep -e KEY_LEFTCTL -e KEY_LEFTMETA -e KEY_TAB -e KEY_LEFTALT -e KEY_F23 -e KEY_RIGHTMETA -e BTN_SIDE -e BTN_EXTRA
0x700e2 = 56 # KEY_LEFTALT
0x700e3 = 125 # KEY_LEFTMETA
0x700e7 = 126 # KEY_RIGHTMETA
0x7002b = 15 # KEY_TAB
0x70072 = 193 # KEY_F23
0x700e2 = 56 # KEY_LEFTALT
0x700e3 = 125 # KEY_LEFTMETA
0x700e7 = 126 # KEY_RIGHTMETA
0x90004 = 275 # BTN_SIDE
0x90005 = 276 # BTN_EXTRA
Double tap dường như không làm gì cả.
tài liệu tham khảo khác
Nó cũng có thể giúp chỉ ra một tham chiếu đến các vấn đề tương tự trong một lỗi với con chuột đã nói ở trên không có trong gnome-bluetooth
cơ sở dữ liệu mã pin. Không cần phải nói, bình luận thêm về chủ đề này chính thức không chính thức về báo cáo lỗi đó, nhưng các tài liệu tham khảo có thể giúp thêm một số quan điểm về bản chất của vấn đề này.
Đây là đầu ra của evemu-describe /dev/input/event4
FWIW.
Bộ điều hợp Bluetooth
FWIW Tôi đã sử dụng hai bộ điều hợp USB Bluetooth khác nhau:
$ lsusb | grep Bluetooth
Bus 007 Device 010: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
$ lsusb | grep Bluetooth
Bus 007 Device 011: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
vmmouse_detect
tiện ích. xmodmap
và xinput
thậm chí xorg.conf
sẽ hữu ích trong Kubfox của bạn nhưng không phải trong Windows VM. Vì vậy, trong WinVM, bạn sẽ có thể định cấu hình chuột của mình với các tiện ích Logitech tiêu chuẩn cho Windows.