Cách cấu hình các nút phụ trong Chuột Logitech


64

Ai đó có thể cho tôi biết cách định cấu hình tất cả các nút trên chuột Logitech MX 620 trong Ubuntu 12.04 không?

Cụ thể, tôi muốn làm cho một trong số chúng chỉ là Ctrlkhóa (để kiểm soát nhấp vào trang web) và một cái khác Ctrl+ Wđể đóng các tab. Tôi cũng thường làm cho trang bánh xe cuộn xuống cho mỗi lần nhấp (nếu không, điều đó làm tổn thương cánh tay của tôi khi cuộn quá nhiều). Tôi thực hiện đẩy bánh xe sang trái = pageback và đẩy sang phải = trang về phía trước.

Tôi đã tìm kiếm câu trả lời khác cho điều này và tìm thấy một cái gì đó liên quan ở đây

Nhưng khi tôi đăng một bài đăng tiếp theo để giải quyết vấn đề, không ai trả lời - tôi đã phạm sai lầm khi đăng lên một câu hỏi đã được "giải quyết". Tôi không chắc làm thế nào tôi có thể mở lại một câu hỏi phù hợp với câu hỏi của tôi nhưng không giải quyết được vấn đề của tôi.


1
Tôi nghĩ rằng đây là cách dễ nhất để khiến chuột hoạt động với đầy đủ chức năng: ralf-oechsner.de/opensource/page/logitech_performance_mx
Edward Kennedy

Câu trả lời:


70

Bạn sẽ cần một số ứng dụng cho việc này, để cài đặt chúng chạy

sudo apt-get install xbindkeys xautomation xev

hoặc là

sudo apt-get install xbindkeys xautomation x11-utils

chỉnh sửa: xev đã được hợp nhất vào x11utils, kể từ Ubuntu 14.04 trở lên.

Bước 1

Bạn cần tìm số nút cho các nút trên chuột. Chạy đi xev. Bạn sẽ thấy một cửa sổ màu trắng sáng xuất hiện, đặt chuột vào đó và nhấn các nút chuột của bạn (tốt nhất nên thực hiện một nút này cùng một lúc). Bạn sẽ nhận được đầu ra như thế này cho mỗi nút:

ButtonRelease event, serial 41, synthetic NO, window 0x4c00001,
root 0x2e9, subw 0x4c00002, time 25804905, (31,28), root:(821,80),
state 0x110, button 1, same_screen YES

(lưu ý: xevcũng chụp chuyển động chuột để bạn có thể cần sàng lọc các sự kiện di chuyển chuột để tìm các sự kiện nút của mình; vd xev -event mouse | grep Button --before-context=1 --after-context=2:)

Đây là những gì quan trọng từ đầu ra đó : button 1. Điều đó cho chúng ta biết rằng nút đặc biệt là nút một. Tôi sẽ lưu trữ này trong một .txttập tin bây giờ.

Bước 2

Tạo xbindkeystập tin cấu hình bằng cách sử dụng:

xbindkeys --defaults > $HOME/.xbindkeysrc  

Tiếp theo chúng ta cần thêm các ràng buộc phím / nút vào tập tin cấu hình. Bạn có thể mở tập tin này với gedit $HOME/.xbindkeysrc. Đây là nơi vui vẻ bắt đầu. Chúng tôi sẽ sử dụng xteđể thiết lập các ràng buộc cho các nút của chúng tôi.

Để làm cho một nút hoạt động như Ctrlchúng ta sẽ thêm:

"xte 'key Control_L'"
b:1  

Điều này sẽ liên kết Ctrlvới nút chuột một.

Nếu bạn sẽ cho tôi biết số nút của các nút của bạn và những gì bạn muốn mỗi nút làm, tôi sẽ viết kịch bản cho bạn.


@seth: Tôi muốn định cấu hình các nút 8 & 9 tương ứng là "quay lại" và "chuyển tiếp". Tốt hơn nữa, nếu tôi có thể tìm ra nơi để fint các lệnh mà tôi có thể cấu hình bằng xbindkeys, điều đó sẽ rất tuyệt. Cảm ơn, Dan
dbbd

11
Cách dễ nhất để giảm sự điên rồ của đầu ra xev là chạy đầu ra thông qua grep : xev | grep -A2 ButtonPress; điều này sẽ để lại tất cả các sự kiện chuyển động chuột, sự kiện tập trung, vv và chỉ hiển thị các ButtonPresssự kiện.
Lambart

@dbbd Rõ ràng tôi đã bỏ lỡ tin nhắn của bạn bằng cách nào đó. Tôi sẽ xem xét nó và lấy lại cho bạn.
Seth

2
Chuột của tôi cũng là một chiếc G300 và tôi không thể làm việc này. Các nút được ánh xạ không chính xác và hai nút được ánh xạ tới cùng một nút Control_L và tôi không biết làm thế nào để ánh xạ chúng kể từ khi nhấn chúng không tự nhận dạng được.
Inoki

6
"Xbindkeys -p" để áp dụng các thay đổi
Alex Fedulov

12

Tôi đã làm theo hướng dẫn của @ Seth , nhưng ràng buộc tôi muốn là cho nút ngón tay cái M705 phải làm CTRL + Left-click(để mở liên kết trong một tab mới trong trình duyệt chrome). Các ràng buộc tôi cần thêm là:

"xte 'keydown Control_L' 'mouseclick 1' 'keyup Control_L'"
    b:10 + Release

Nó chờ nút ngón tay cái được thả ra, sau đó nhấn phím điều khiển, thực hiện nhấp chuột, sau đó nhả phím điều khiển.


Giải pháp này, không phải ở trên, hoạt động như một bùa mê trên Ubuntu Mate 16.04 với chuột Logitech M705. Tôi đã sử dụng nó để chỉ định sao chép và dán vào các nút bên cạnh để các cài đặt của tôi trông như thế này: "xte 'keydown Control_L' 'key c' 'keyup Control_L'" b: 9 "xte 'keydown Control_L' 'key v' 'keyup Control_L '"b: 8
Draco

2
"xbindkeys -p" để áp dụng các thay đổi.
dùng3616725

8

Đối với bất cứ ai muốn liên kết sao chép và dán hành động vào các nút chuột:

  1. Thực hiện theo câu trả lời của Seth (câu trả lời với Bước 1, Bước 2 và sudo apt-get install xbindkeys xautomation xev)
  2. Đặt các dòng sau trong .xbindkeysrctệp của bạn :

Đây là để sao chép:

"xte 'keydown Control_L' 'key c' 'keyup Control_L'"
b:9

Đây là để dán:

"xte 'keydown Control_L' 'key v' 'keyup Control_L'"
b:8

* b:9có nghĩa là nút 9 trên chuột (kiểm tra số nút với xev)

  1. Nó sẽ không hoạt động ngay lập tức, bạn phải tải lại .xbindkeysrctrước hoặc khởi động lại máy.

oh wow điều này làm việc cho tôi hoàn hảo. cố gắng thiết lập các khóa đó trong 4 năm qua và chỉ bây giờ mới có thể làm điều này. cảm ơn bạn! btw điều cực kỳ quan trọng là phải biết những nút đó là gì, đối với tôi chúng là 16 và 17 trên chuột của tôi ..
Tio TROM

LƯU Ý: b: 9 vv CÓ PHẢI nằm trên một dòng mới trong tệp cấu hình. Tôi đặt chúng trên cùng một dòng và không thể hiểu tại sao nó không hoạt động.
dùng3616725

Điều này làm việc cho tôi cho GUI, nhưng nó không hoạt động cho thiết bị đầu cuối Bash. Có cách nào để sao chép / dán hoạt động cho CẢ HAI GUI và trình bao với các nút giống nhau không?
JoeMjr2

@ JoeMjr2 Trong thiết bị đầu cuối Bash, rất có thể bạn sẽ dán bằng Ctrl + Shift + V và sao chép bằng cách nhấn Ctrl + Shift + C. Vì vậy, bạn sẽ cần một số cách để sử dụng ánh xạ dành riêng cho ứng dụng. Tôi không chắc chắn làm thế nào mặc dù. Có lẽ bạn có thể sử dụng một số trình giả lập thiết bị đầu cuối và thiết lập các phím nóng để sao chép dán theo cách tiêu chuẩn - sau đó các nút chuột sao chép của bạn sẽ hoạt động.
zwolin

5

Bạn nên cài đặt Solaar, một công cụ Linux cho phép bạn quản lý chuột và bàn phím của Logitech Unifying Receiver, đi kèm với cả giao diện GUI và dòng lệnh. Để làm điều đó, thêm kho lưu trữ sau và cài đặt bằng cách thực hiện các lệnh sau:

sudo add-apt-repository ppa:daniel.pavel/solaar

sudo apt-get update

sudo apt-get install solaar

Điều này sẽ cho phép bạn tăng và tối đa hóa DPI của chuột, theo dõi pin, cho phép cuộn trơn tru và cuộn bên. Để làm cho nhiều cửa sổ và nút thu phóng hoạt động, bạn có thể truy cập trang web này hướng dẫn bạn qua các bước dễ dàng để có được chức năng bạn đang tìm kiếm:

http://www.ralf-oechsner.de/opensource/page/logitech_performance_mx


Tôi đã làm điều này trên C720 / crouton của tôi. Khi tôi chạy solaar, nó bị rơi trở lại màn hình bắt đầu. Tôi đã phải khởi động lại (và tìm ra lệnh là sudo startxfce4) và loại bỏ solaar.
marty cohen

Solaar đã rất có lỗi với tôi vào ngày 14.04 và cuối cùng tôi sẽ không chạy. Tôi nhận ra câu hỏi ban đầu là khoảng 12.04, nhưng nghĩ rằng nó đáng được đề cập. Có lẽ tiết kiệm thời gian cho ai đó.
rêu

12
-1. Câu trả lời này không trả lời câu hỏi. solaar không thực hiện bất kỳ ánh xạ nào của các nút chuột.
Hai mươi

tôi cũng không làm việc
Khốn nạn

3

Bạn đã có sẵn những thứ này vì chúng nên đi kèm với Ubuntu, nhưng hãy chạy nó trong trường hợp này.

sudo apt-get install libdaemon-dev libglade2-dev libgtk2.0-dev 

Bây giờ, tải xuống và cài đặt

  1. btnx-config
  2. btnx Theo thứ tự này.

Để cài đặt:

Giải nén và cdvào từng thư mục này.

Trong mỗi người họ chạy:

./configure
make
sudo make install

Khi cả hai đã được cài đặt, hãy chạy

sudo btnx-config

Trong tab Cấu hình, bấm Phát hiện Chuột & Nút

nhập mô tả hình ảnh ở đây

Trong tab Nút, gán cho nút chuột của bạn một phím hoặc chức năng. Hãy chắc chắn rằng bạn ☑ kiểm tra đánh dấu kích hoạt .

nhập mô tả hình ảnh ở đây

Cuối cùng, trong tab Cấu hình, nhấp vào nút Khởi động lại btx để thay đổi của bạn có hiệu lực.

nhập mô tả hình ảnh ở đây


Hoạt động tốt trên sàn nhảy ubfox. Một điều chỉnh: Nó nên được ./configure, không ./configure make. Ngoài ra, bạn không cần sudo với thực hiện.
panta82

@ panta82 Tôi lấy những thứ đó trực tiếp từ tệp
README.md

Tôi biết. Có lỗi trong tệp README :)
panta82

2

Tôi cũng có chuột chơi game g700s. Tin tốt là nó đắt tiền (đối với một con chuột) và nhà sản xuất thực sự chế tạo nó theo tiêu chuẩn cao. Các chức năng cho chuột được lưu trữ trong chuột. Tin xấu là để cấu hình chính xác, bạn cần sử dụng phần mềm logitech chỉ chạy trong windows.

Vì vậy, ... về cơ bản, bạn cần cắm chuột vào hộp cửa sổ và định cấu hình chính xác theo cách bạn muốn . Tôi khuyên bạn nên sử dụng chức năng cấu hình chuyển đổi để bạn có thể thiết lập nó tốt cho sử dụng bình thường, ví dụ: chạy máy tính để bàn linux của bạn, chức năng compiz (chuyển đổi ứng dụng, chuyển đổi không gian làm việc, bật tối đa hóa, v.v.), sau đó tạo một cấu hình khác để chơi game ( có thể với tốc độ làm mới khác nhau) và các nút chơi game. Đối với compiz, hãy xem xét việc đặt các nút 4 ngón tay cái thành alt, ctl, shift, superkey, vì điều này sẽ giúp việc sử dụng chuyển đổi dễ dàng hơn với bánh xe cuộn. alt + bánh xe cuộn lên trở thành nút ngón tay cái 1 + bánh xe cuộn lên.

Đề án của tôi:

nút ngón tay cái 1 (chuyển tiếp thấp hơn) = alt

nút ngón tay cái 2 (phía trên phía trên) = shift

nút ngón tay cái 3 (phía sau thấp hơn) = ctrl

nút ngón tay cái 4 (phía sau phía trên) = superkey (phím windows)

nút giữa ngón trỏ = ctrl + alt + numpad 5

ngón trỏ gần bạn hơn = tab

ngón trỏ cách xa bạn = alt-f4 (ứng dụng đóng compiz / linux / winX)

mặc định compiz:

chuyển đổi không gian làm việc = alt + ctl + kéo chuột = hạ 2 nút ngón tay cái với nhau + nhấp chuột và kéo; Nghe có vẻ phức tạp khi gõ nó ra nhưng nó rất hiệu quả để sử dụng.

chuyển đổi ứng dụng = alt + tab = nút chuyển tiếp ngón cái thấp hơn + nút ngón trỏ gần hơn (hãy nhớ rằng điều này để hoạt động tốt, bạn cần tiếp tục giữ nút ngón tay cái, để bạn có thể chuyển qua 1 ứng dụng)

fading một cửa sổ (trong suốt) = alt + bánh xe cuộn = ngón tay cái nút phía trước thấp hơn + bánh xe cuộn

Sau đó chuyển nó trở lại hộp linux của bạn và nó hoạt động hoàn hảo.

Các ràng buộc chính được mô tả ở trên hoạt động rất tốt, nhưng xem xét chiến trường 4 cũng có một thời gian khủng khiếp khi nhận ra chuột là chuột có 10 nút để tôi phải ánh xạ 4 nút ngón tay cái của mình thành =, \ và ;. Nhưng rõ ràng trong linux, điều này thật ngớ ngẩn và để liên kết lại khóa = với "ứng dụng tiếp theo" là một bài học về sự vô ích, đặc biệt là khi mã hóa hahahaha.

NHIỀU LIÊN KẾT CẦN PHẢI NẾU SỬ DỤNG VIRTUALBOX ĐỂ CHẠY CỬA SỔ 7:

https://stackoverflow.com/questions/20021300/usb-devices-are-not-recognized-in-virtualbox-linux-host

https://www.youtube.com/watch?v=-0OyrvbZNwo



1

Tôi có Logitech MX 500 và muốn ánh xạ các phím bên với các hành động Sao chép và Dán (nó rất hữu ích).

Tôi đã sử dụng hướng dẫn này để hiểu cách định cấu hình tệp xbindkeysrc và có thể ánh xạ các khóa.


2
Bạn biết rằng di chuyển con trỏ chuột đến đầu / cuối của văn bản bạn muốn sao chép và sau đó nhấn nút bên trái và tiếp tục giữ cho đến khi bạn đến cuối / bắt đầu những gì bạn muốn sao chép và nó được sao chép. Khi bạn muốn dán, bạn nhấn nút giữa (nếu bạn chỉ có một nút chuột hai nút, nhấn cả hai nút trái và phải cùng một lúc) và bạn dán văn bản. Không cần phải cấu hình bất cứ điều gì, điều này nằm ngoài khả năng của tất cả các máy Unix và Linux với Hệ thống XWindows. Xin lưu ý rằng chúng tôi không sử dụng một sản phẩm microsoft không có gì đặc biệt mà là GNU / Linux

@ user350566 Loại bản sao + dán này có một số hạn chế. Đôi khi bạn muốn bảng tạm khác aka Ctrl + C / + V. Chỉ cần nói.
donquixote

1

Tôi đã thực hiện một giải pháp hoạt động với Wayland.

Tại đây https://github.com/mathportillo/wayland-mouse-mapper

Nó sử dụng evemu để gửi thông báo sự kiện thiết bị đến kernel, vì vậy nó không bị hạn chế bởi Wayland

Một tập lệnh bash tóm tắt cho thấy cách thức hoạt động của nó bên dưới (hầu hết các lệnh yêu cầu quyền root)

tìm thiết bị của bạn:

libinput list-devices

để trực tiếp tìm tên thiết bị con trỏ của bạn sử dụng:

libinput list-devices | grep pointer -B3 | grep -o '/dev/input/event[1-9]*'

để liệt kê các sự kiện thiết bị của bạn sử dụng (thay đổi event5 thành tên thiết bị con trỏ của bạn):

libinput debug-events --device /dev/input/event5

để liên kết các lệnh với các sự kiện thiết bị của bạn, hãy sử dụng:

while read line; do
    echo ${line} # line represents a command
    # your code goes here
done < <(stdbuf -oL libinput debug-events --device /dev/input/event5 & )

để kích hoạt sự kiện chuột sử dụng:

evemu-event /dev/input/event5 --sync --type EV_KEY --code KEY_PAGEUP --value 1

loại có thể khác với tổ hợp phím và mã có thể khác với PageUp, giá trị là 1 cho nhấn và 0 để phát hành có, chuột của bạn có thể kích hoạt tổ hợp phím, hệ thống sẽ hiểu nó giống như bàn phím, tất cả chỉ là sự kiện từ các thiết bị sự kiện.

Một kịch bản hợp nhất tất cả các khái niệm trên trên một trình ánh xạ hoạt động, hoạt động trên Wayland và có thể được cấu hình như một dịch vụ để bắt đầu khởi động hệ thống, có thể được tìm thấy trong git repo ở trên.


0

trong Debian bạn có một xbindkeys-configgói sẽ giúp bạn định cấu hình các ràng buộc phím / nút. Làm như vậy:

sudo apt-get install xbindkeys-config

2
Chương trình đó chỉ gặp sự cố bất cứ khi nào tôi cố gắng làm bất cứ điều gì với G300 của mình.
Inoki


0

Vì vậy, tôi đã sử dụng MX hiệu suất của mình trên máy ubfox của tôi được khoảng 6 tháng. Tôi đã để hầu hết các nút mặc định, nhưng tôi đã đi trước và làm cho nút ngón tay cái trở thành phím Super đẹp hơn so với việc đi đến góc trên cùng bên trái của màn hình trong gnome. Và tôi đã làm cho nút phóng to một nút điều khiển. Nhưng nó được đặt để bật CTRL và tắt CTRL bằng các nhấp chuột riêng biệt. Điều này thực sự hữu ích vì tôi có một màn hình 4K và một 1080, vì vậy tôi có thể nhấp vào nút thu phóng một lần, cuộn bánh xe để phóng to và thu nhỏ trang web và khi tôi có trang web được chia tỷ lệ theo cách tôi muốn, tôi nhấp vào thu phóng lần nữa. Đây là cài đặt xbindkeysrc của tôi:

"/usr/bin/xte 'keydown Control_L' &"
b:13
"/usr/bin/xte 'keyup Control_L' &"
Control + b:13
"/usr/bin/xte 'key Super_L'"
b:10 + release

Điều này dường như không trả lời câu hỏi.
TheWanderer

0

btnxcó thể là một giải pháp đơn giản để ánh xạ lại nút với các chuột Logitech vì nó nên hoạt động với tất cả các thương hiệu. Nó có một giao diện đồ họa dễ dàng và có thể tìm hiểu về các nút có sẵn. btnx là một phần của kho lưu trữ tiêu chuẩn nhiều năm trước, nhưng đã bị xóa. Nó hiện đang có sẵn ở đây: https://launchpad.net/~oliverstar/+archive/ubfox/ppa


0

Cuộn lên và xuống bằng nút chuột tiến và lùi

Đầu tiên, cài đặt các gói cần thiết:

$ sudo apt install x11-utils xbindkeys xautomation

Tiếp theo, sử dụng xevđược cung cấp bởi x11-utilsđể phát hiện số nút chính xác của nút quay lại và chuyển tiếp của chuột.

$ xev |grep -A2 ButtonPress

Đối với chuột Anker dọc có dây của tôi , quay lại và chuyển tiếp lần lượt là các nút 8 và 9.

ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1708382, (68,54), root:(939,498),
    state 0x10, button 8, same_screen YES
--
ButtonPress event, serial 37, synthetic NO, window 0x3600001,
    root 0x1da, subw 0x0, time 1711030, (69,48), root:(940,492),
    state 0x10, button 9, same_screen YES

chuột Anker có dây dọc

Tiếp tục bằng cách tạo một tệp ẩn có tên .xbindkeysrctrong thư mục chính của bạn với các nội dung sau:

"xte 'keydown Down'"
b:8

"xte 'keyup Down'"
b:8 + Release

"xte 'keydown Up'"
b:9

"xte 'keyup Up'"
b:9 + Release

Các xtelệnh được cung cấp bởi các xautomationgói.

Cuối cùng, đăng xuấtđăng nhập lại từ máy tính để bàn để những thay đổi này có hiệu lực. Bây giờ bạn có thể cuộn lên xuống trong các trình duyệt và các chương trình khác bằng cách nhấn và giữ nút chuột trở lại và chuyển tiếp.

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.