Nút Remap bên cảm ứng trên Microsoft Sculpt Comfort Mouse


12

Gần đây tôi đã mua một con chuột thoải mái Microsoft Sculpt. Nó sử dụng Bluetooth để kết nối với máy tính xách tay của tôi và tất cả các nút chuột thông thường hoạt động hoàn hảo trong cả Linux và Windows 7. Tuy nhiên, điều khác biệt ở con chuột này là nó có phím Windows/ Superphím đặc biệt ở bên cạnh để khởi động menu / start khi nhấn. Nó cũng có một cảm biến cảm ứng phát hiện khi nút bên được vuốt lên hoặc xuống và rung chuột để xác nhận nó đã được kích hoạt.

Tất nhiên trong Windows có một chương trình cho phép tôi thay đổi những gì các nét làm và tắt rung.

Trong Linux, xev chỉ phát hiện một tổ hợp phím thông thường khi nhấn nút bên hoặc vuốt. Xev không báo cáo bất kỳ lần nhấn nút chuột nào.

Vì vậy, câu hỏi của tôi là, tôi có thể thay đổi những gì nhấn phím được gửi khi ở Linux không?

Tôi rất thích thay đổi ràng buộc khóa từ tabsang down, backspacesang up, (những gì xev báo cáo) thành ctrl+ alt+ left/ rightđể chuyển giữa các không gian làm việc.

Cảm ơn vì bất kì sự giúp đỡ!


Bạn đã kiểm tra hướng dẫn cách sử dụng chuột tại help.ubfox.com/community/ManyButtonsMouseHowto chưa?
ubfan1

1
Cảm ơn về mẹo ubfan1, xinput get-button-map cung cấp cho tôi 13 nút. Báo cáo kiểm tra xev và xinput chỉ có các nút 1-7. Tôi đã thử ánh xạ lại các nút 8-13 bằng cách sử dụng xinput set-button-map và xbindkeys từ liên kết nhưng không có gì thay đổi. Nhấn phím báo cáo phím bên nhấn 133 (siêu), vuốt lên phím báo cáo nhấn 22 (xóa lùi), vuốt xuống phím báo cáo nhấn 23 (tab).
dùng223544

Câu trả lời:


5

Tôi chỉ mua một cái cho mình và thấy rằng những công việc sau đây hoàn hảo cho tôi.

  1. Mở trình soạn thảo dconf ( sudo apt-get install dconf-editornếu nó chưa được cài đặt).
  2. Điều hướng đến org -> gnome -> máy tính để bàn -> wm -> keybindings.
  3. Thay đổi giá trị của switch-to-không gian làm việc xuống để

    ['<Control><Alt>Down', '<Primary><Super>Tab', '<Control><Super>Tab']

    và giá trị của switch-to-không gian làm việc lên đến

    ['<Control><Alt>Up', '<Primary><Super>BackSpace', '<Control><Super>Backspace']


Giải pháp này hoạt động đáng tin cậy hơn giải pháp tôi tìm thấy với xbindkeys. Hạn chế duy nhất so với xbindkeys là giải pháp xbindkeys dường như chỉ nắm bắt các sự kiện phím chuột, trong khi giải pháp này cũng sẽ hoạt động nếu sử dụng các phím bàn phím. Bất kể, độ tin cậy của giải pháp này làm cho nó là giải pháp tốt hơn.
dùng223544

2

Vì chuột Microsoft Sculpt Comfort không đăng ký các lần nhấn nút chuột cho các cử chỉ siêu và vuốt, mà thay vào đó là đăng ký các lần nhấn phím bàn phím, tôi đã sử dụng các gói 'xautomation' và 'xbindkeys' để nghe các lần nhấn phím đó và gửi Ctrl+ Alt+ Right/ Leftđể chuyển giữa các không gian làm việc. Đây không phải là một giải pháp lý tưởng, nhưng nó hoạt động như 8 trên 10 lần.

#Move to left workspace
"xte 'keydown Control_L' 'keydown Alt_L' 'usleep 100' 'key Left' 'keyup Control_L' 'keyup Alt_L' 'keyup Left'"
   m:0x4+mod4+m:0x0+c:23
   #Control_L+Super_L+Tab

#Move to right workspace
"xte 'keydown Control_L' 'keydown Alt_L' 'usleep 100' 'key Right' 'keyup Control_L' 'keyup Alt_L' 'keyup Right'"
   m:0x4+mod4+m:0x0+c:22
   #Control_L+Super_L+Backspace

Kịch bản xbindkeys này làm là nó lắng nghe các phím bấm mà các bà mẹ vuốt lên và vuốt xuống cử chỉ gửi đến máy tính. Nếu được phát hiện, xautomation sẽ gửi tổ hợp phím di chuyển tiêu chuẩn, control+ alt+ left/ right.

Cử chỉ vuốt lên trên chuột sẽ nhấn tổ hợp phím left control+ left super+ backspace. Cử chỉ vuốt xuống trên chuột sẽ nhấn tổ hợp phím left control+ left super+ tab. m: 0x4 + mod4 + m: 0x0 + c22 là tổ hợp mã khóa thực tế được phát hiện bởi xbindkeys.

Tôi sẽ loay hoay thêm một chút nữa để xem liệu tôi có thể cải thiện hiệu quả hay không, nhưng bây giờ điều này đã hoàn thành công việc. Tôi chỉ hy vọng rằng tabbackspacecác đầu ra chuột không làm hỏng bất kỳ công việc nào tôi đang làm.


1
Bạn có thể giải thích làm thế nào các giải pháp hoạt động? Có phải chuột đang gửi Control_L+Super_L+Tab(Control_L + Super_L đến từ đâu)? Hoặc bạn có khớp các nút chuột với m:0x4+mod4+m:0x0+c:23(Bạn dường như nói rằng không có sự kiện chuột nào được tạo trong câu hỏi)?
Volker Siegel

Tôi đã chỉnh sửa giải pháp của mình để giải thích Control_L + Super_L đến từ đâu. Tôi cũng đã giải thích mục đích của m: 0x0 + mod4 + m: 0x0 + c: 23.
dùng223544

0

Tôi muốn ánh xạ các nút giống nhau để điều hướng qua các tab trong Firefox theo cả hai hướng. Tôi đang sử dụng xbindkeys và xmacro. Nó hoạt động khá tốt!

.xbindkeysrc

#Thumb down
"echo 'KeyStrPress Control_L KeyStrPress Tab KeyStrRelease Control_L KeyStrRelease Tab'|xmacroplay :0"
   Control+Mod4+Tab

#Thumb up
"echo 'KeyStrPress Control_L KeyStrPress Shift_L KeyStrPress ISO_Left_Tab KeyStrRelease Control_L KeyStrRelease Shift_L KeyStrRelease ISO_Left_Tab' |xmacroplay :0"
   Control+Mod4+BackSpace
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.