Logitech Mouse에서 추가 버튼을 구성하는 방법


64

누구든지 우분투 12.04에서 Logitech MX 620 마우스의 모든 버튼 을 구성하는 방법을 말해 줄 수 있습니까 ?

특히, 나는 그들 중 하나를 Ctrl키 (웹 페이지 클릭 제어를위한)와 다른 하나를 Ctrl+ W탭 으로 만들고 싶습니다 . 또한 일반적으로 클릭 할 때마다 스크롤 휠 페이지를 아래로 만듭니다 (그렇지 않으면 팔이 너무 많이 스크롤되어 아프게됩니다). 휠을 왼쪽 = 페이지 백으로 밀고 오른쪽 = 페이지 앞으로 밀고 있습니다.

나는 이것에 대한 다른 대답을 찾고 여기 에서 뭔가를 발견 했다.

그러나 문제를 해결하기 위해 후속 게시물을 게시했을 때 아무도 응답하지 않았습니다. 아마도 "해결 된"질문에 게시하는 실수를 한 것 같습니다. 내 질문과 관련이 있지만 내 문제를 해결하지 못하는 질문을 어떻게 다시 열어야하는지 잘 모르겠습니다.


1
이것이 마우스가 모든 기능을 사용하도록하는 가장 쉬운 방법이라고 생각합니다 : ralf-oechsner.de/opensource/page/logitech_performance_mx
Edward Kennedy

답변:


70

이를 설치하려면 여러 개의 응용 프로그램이 필요합니다.

sudo apt-get install xbindkeys xautomation xev

또는

sudo apt-get install xbindkeys xautomation x11-utils

편집 : xev는 우분투 14.04 이상에서 x11utils로 병합되었습니다.

1 단계

마우스 버튼의 버튼 번호를 찾아야합니다. 를 실행하십시오 xev. 작은 흰색 창이 나타나면 마우스를 넣고 마우스 버튼을 누릅니다 (한 번에이 버튼 하나만 수행하는 것이 가장 좋습니다). 각 버튼에 대해 다음과 같이 출력해야합니다.

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

(주의 : xev당신이 당신의 버튼 이벤트를 찾기 위해 마우스 이동 이벤트를 통해 선별해야 할 수도 있으므로 또한 마우스 움직임을 캡처, 예 : xev -event mouse | grep Button --before-context=1 --after-context=2)

이것이 그 출력에서 ​​중요한 것입니다 button 1. 특정 버튼은 버튼 1이라는 것을 알려줍니다. 나는 이것을 .txt지금 파일에 저장할 것이다 .

2 단계

다음을 사용하여 xbindkeys구성 파일을 작성하십시오 .

xbindkeys --defaults > $HOME/.xbindkeysrc  

다음으로 키 / 버튼 바인딩을 설정 파일에 추가해야합니다. 로이 파일을 열 수 있습니다 gedit $HOME/.xbindkeysrc. 재미가 시작되는 곳입니다. xte버튼에 바인딩을 설정하는 데 사용할 것 입니다.

버튼 Ctrl을 추가 하는 것처럼 작동 시키려면 :

"xte 'key Control_L'"
b:1  

Ctrl마우스 버튼 하나에 바인딩 됩니다.

버튼의 버튼 번호와 원하는 작업을 알려 주시면 스크립트를 작성해 드리겠습니다.


@ seth : 버튼 8과 9를 각각 "뒤로"와 "앞으로"로 구성하고 싶습니다. 더 나은 방법은, xbindkeys로 구성 할 수있는 명령을 찾을 위치를 알아낼 수 있다면 좋을 것입니다. 감사합니다, 댄
dbbd

11
xev 출력의 광기를 줄이는 가장 쉬운 방법은 grep을 통해 출력을 실행하는 것입니다 xev | grep -A2 ButtonPress. 이것은 모든 마우스 모션 이벤트, 포커스 이벤트 등을 남기고 이벤트를 보여줍니다 ButtonPress.
Lambart

@dbbd 분명히 나는 ​​당신의 메시지를 어떻게 든 놓쳤다. 나는 그것을 조사하고 당신에게 돌아올 것입니다.
세스

2
내 마우스도 G300이며 작동하지 않습니다. 버튼이 잘못 매핑되고 두 개의 버튼이 동일한 Control_L 버튼에 매핑되며 버튼을 누를 때 자신을 식별하지 못하기 때문에 매핑하는 방법을 모릅니다.
Inoki

6
"xbindkeys -p"변경 사항 적용
Alex Fedulov

12

@Seth 지침을 따랐 지만 M705가 수행하는 엄지 버튼은 CTRL + Left-click크롬 브라우저의 새 탭에서 링크를 여는 데 사용되었습니다. 추가해야 할 바인딩은 다음과 같습니다.

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

썸 버튼이 해제 될 때까지 기다린 다음 Ctrl 키를 누르고 마우스 클릭을 수행 한 다음 Control 키를 놓습니다.


위가 아닌이 솔루션은 Logitech M705 마우스를 사용하여 Ubuntu Mate 16.04에서 매력처럼 작동했습니다. "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"변경 사항을 적용하십시오.
user3616725

8

복사 및 붙여 넣기 작업을 마우스 버튼에 바인딩하려는 사용자 :

  1. Seth 답변을 따르십시오 (1 단계, 2 단계 및 sudo apt-get install xbindkeys xautomation xev)
  2. .xbindkeysrc파일에 다음 줄을 넣으십시오 .

이것은 복사 용입니다.

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

붙여 넣기 용입니다.

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

* b:9는 마우스의 버튼 9를 의미합니다 (로 버튼 번호 확인 xev).

  1. 즉시 작동하지 않으므로 먼저 다시로드 .xbindkeysrc하거나 컴퓨터를 다시 시작해야합니다.

와우이게 완벽하게 작동했습니다. 지난 4 년 동안이 키를 설정하려고했지만 지금 만 가능합니다. 감사합니다! btw 버튼이 무엇인지 아는 것이 매우 중요합니다. 저에게는
16-17

참고 : b : 9 등은 구성 파일에서 새 줄에 있어야합니다. 나는 그것들을 같은 줄에 넣고 왜 작동하지 않는지 알아낼 수 없었다.
user3616725

이것은 GUI에서는 효과가 있었지만 Bash 터미널에서는 작동하지 않습니다. GUI와 셸 모두에 동일한 버튼으로 복사 / 붙여 넣기 작업을 수행 할 수있는 방법이 있습니까?
JoeMjr2

@ JoeMjr2 Bash 터미널에서는 Ctrl + Shift + V를 사용하여 붙여넣고 Ctrl + Shift + C를 눌러 복사합니다. 따라서 응용 프로그램 별 매핑을 사용하는 방법이 필요합니다. 그래도 잘 모르겠습니다. 아마도 터미널 에뮬레이터를 사용하고 표준 방식으로 복사하여 붙여 넣기 위해 핫키를 설정할 수 있습니다. 그러면 복사 붙여 넣기 마우스 버튼이 작동합니다.
zwolin

5

GUI 및 명령 행 인터페이스와 함께 제공되는 Logitech Unifying Receiver 마우스 및 키보드를 관리 할 수있는 Linux 도구 인 Solaar를 설치해야합니다. 이를 수행하려면 다음 명령을 실행하여 다음 저장소를 추가하고 설치하십시오.

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

sudo apt-get update

sudo apt-get install solaar

이를 통해 마우스의 DPI를 늘리고 최대화하고 배터리를 모니터링하며 부드러운 스크롤 및 측면 스크롤을 사용할 수 있습니다. 다중 창 및 확대 / 축소 버튼을 작동 시키려면이 사이트를 방문하여 원하는 기능을 쉽게 얻을 수있는 단계를 안내하십시오.

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


나는 C720 / 크루 톤에서 이것을했다. solaar를 실행했을 때 시작 화면으로 돌아갔습니다. 나는 다시 시작하고 명령이 sudo startxfce4라는 것을 알아 내고 solaar를 제거해야했습니다.
marty cohen

Solaar는 14.04에 나에게 매우 버그가 있었고 결국 전혀 실행되지 않았습니다. 나는 원래 질문이 약 12.04라는 것을 알고 있지만 언급 할 가치가 있다고 생각했습니다. 시간을 절약 할 수 있습니다.
moss

12
-1. 이 답변은 질문에 대답하지 않습니다. solaar는 마우스 버튼을 매핑하지 않습니다.
Twifty April

나에게도 효과가 없었습니다.
Woeitg

3

그들은 우분투와 함께 제공해야하므로 이미 가지고 있어야하지만 경우에 따라 실행하십시오.

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

이제 다운로드 및 설치

  1. btnx-config
  2. btnx 이 순서로.

설치하기 위해서:

압축을 풀고 cd각 폴더에 넣습니다.

각각에서 다음을 실행하십시오.

./configure
make
sudo make install

둘 다 설치되면 다음을 실행하십시오.

sudo btnx-config

구성 탭에서 마우스 및 버튼 감지를 클릭하십시오.

여기에 이미지 설명을 입력하십시오

단추 탭에서 마우스 단추에 키 또는 기능을 할당하십시오. ☑ 확인 표시가 활성화되어 있는지 확인하십시오 .

여기에 이미지 설명을 입력하십시오

마지막으로, Configurations 탭에서 Restart btx 버튼을 클릭하여 변경 사항을 적용하십시오.

여기에 이미지 설명을 입력하십시오


우분투 디스코에서 잘 작동했습니다. 하나의 수정 : 그것은 ./configure아닙니다 ./configure make. 또한 make와 함께 sudo가 필요하지 않습니다.
panta82

@ panta82 README.md 파일에서 직접 가져 왔습니다
No Sssweat

알아. README 파일에 실수가 있습니다 :)
panta82

2

나도 g700s 게임용 마우스를 가지고 있습니다. 좋은 소식은 비용이 많이 들고 (마우스의 경우) 제조업체가 실제로 높은 표준에 따라 제작했다는 것입니다. 마우스 기능은 마우스에 저장됩니다. 나쁜 소식은 올바르게 구성하는 것입니다. Windows에서만 실행되는 logitech 소프트웨어를 사용해야합니다.

그래서 ... 기본적으로 당신은 윈도우 상자에 마우스를 연결하고 당신이 그것을 원하는 정확히 어떻게 구성해야 . 스위치 프로파일 기능을 사용하여 Linux 데스크톱 실행, compiz 기능 (앱 전환, 작업 공간 전환, 토글 링 최대화 등)과 같은 일반적인 사용에 적합하게 설정 한 다음 게임을위한 다른 프로파일을 만들 것을 권장합니다 ( 재생률이 다를 수 있음) 및 게임 버튼. compiz의 경우 4면 엄지 손가락 버튼을 alt, ctl, shift, superkey로 설정하면 스크롤 휠로 쉽게 전환 할 수 있습니다. Alt + 스크롤 휠 업은 엄지 버튼 1 + 스크롤 휠 업이됩니다.

내 계획 :

썸 버튼 1 (앞쪽 아래) = alt

썸 버튼 2 (앞쪽 상단) = 이동

썸 버튼 3 (뒤쪽) = ctrl

썸 버튼 4 (후면 상단) = 수 퍼키 (Windows 키)

검지 가운데 버튼 = ctrl + alt + numpad 5

당신에게 더 가까운 검지 = 탭

멀리 떨어진 집게 손가락 = alt-f4 (compiz / linux / winX close app)

compiz 기본값 :

작업 공간 전환 = alt + ctl + 마우스 드래그 = 두 개의 엄지 버튼을 함께 + 마우스 클릭 및 드래그; 입력 할 때 복잡하게 들리지만 사용하기가 매우 효율적입니다.

앱 전환 = alt + tab = 하단 엄지 앞으로 버튼 + 검지 더 가까이 버튼

창 페이딩 (투명도) = alt + 스크롤 휠 = 썸 아래쪽 앞으로 버튼 + 스크롤 휠

그런 다음 리눅스 박스로 다시 가져 가면 완벽하게 작동합니다.

위에서 설명한 키 바인딩은 훌륭하게 작동하지만 전장 4는 마우스를 10 개의 버튼이있는 마우스로 인식하는 데 끔찍한 시간이 있으므로 4 개의 엄지 버튼을 =, \ 및;에 매핑해야한다고 생각하십시오. 그러나 리눅스에서 분명히 이것은 바보이며, "다음 앱"에 = 키를 다시 바인딩하는 것은 특히 hahahaha를 코딩 할 때 쓸데없는 교훈입니다.

VirtualBox를 사용하여 WINDOWS 7을 실행하는 경우 링크가 많이 필요합니다.

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

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



1

Logitech MX 500을 사용하고 측면 키를 복사하여 붙여 넣기 작업으로 매핑하려고했습니다 (매우 유용합니다).

안내서를 사용 하여 xbindkeysrc 파일을 구성하고 키를 맵핑하는 방법을 이해했습니다.


2
마우스 포인터를 복사하려는 텍스트의 시작 / 끝으로 이동 한 다음 왼쪽 버튼을 누르고 복사하려는 항목의 끝 / 시작에 도달 할 때까지 계속 누르고 있습니다. 붙여 넣으려면 가운데 버튼을 누르고 (두 버튼 마우스 만있는 경우 왼쪽과 오른쪽 버튼을 동시에 누르십시오) 텍스트를 붙여 넣습니다. 아무것도 구성 할 필요가 없습니다. 이는 XWindows 시스템이 설치된 모든 Unix 및 Linux 시스템에서 기본적으로 제공됩니다. 우리는 기능이없는 Microsoft 제품을 사용하지 않고 GNU / Linux를 사용하고 있음을 명심하십시오

@ user350566 이러한 종류의 복사 + 붙여 넣기에는 몇 가지 제한이 있습니다. 때로는 다른 클립 보드 (Ctrl + C / + V)를 원할 수도 있습니다. 그냥 말하면
donquixote

1

Wayland와 함께 작동하는 솔루션을 만들었습니다.

여기 https://github.com/mathportillo/wayland-mouse-mapper

evemu를 사용하여 장치 이벤트 알림을 커널에 전송하므로 Wayland에 의해 제한되지 않습니다.

작동 방식을 보여주는 요약 된 bash 스크립트는 다음과 같습니다 (대부분의 명령에는 루트 권한이 필요합니다)

기기 찾기 :

libinput list-devices

포인터 장치 이름을 직접 찾으려면 다음을 사용하십시오.

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

장치 이벤트 사용을 나열하려면 (event5를 포인터 장치 이름으로 변경) :

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

장치 이벤트에 명령을 바인딩하려면 다음을 사용하십시오.

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

마우스 이벤트를 사용하려면 다음을 사용하십시오.

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

유형은 키 입력 이외의 코드 일 수 있으며 코드는 PageUp 이외의 코드 일 수 있습니다. 값은 1, 눌림은 0입니다. 예, 마우스는 키 입력을 트리거 할 수 있습니다. 시스템은 키보드와 동일하게 해석하며 이벤트 장치의 모든 이벤트입니다.

Wayland에서 작동하고 시스템 시작시 시작하도록 서비스로 구성 할 수있는 작동하는 매퍼에서 위의 모든 개념을 병합하는 스크립트는 위의 git repo에서 찾을 수 있습니다.


0

데비안에는 xbindkeys-config키 / 버튼 바인딩을 구성하는 데 도움 이되는 패키지가 있습니다. 그렇습니다 :

sudo apt-get install xbindkeys-config

2
이 프로그램은 G300으로 무언가를 시도 할 때마다 충돌합니다.
Inoki


0

그래서 우분투 컴퓨터에서 약 6 개월 동안 성능 MX를 사용해 왔습니다. 나는 대부분의 버튼을 기본값으로 두었지만, 그놈의 화면 왼쪽 상단으로가는 것보다 엄지 버튼을 슈퍼 키로 만들었습니다. 그리고 줌 버튼을 컨트롤 버튼으로 만들었습니다. 그러나 CTRL을 켜고 별도의 클릭으로 CTRL을 끄도록 설정되어 있습니다. 하나의 4K 디스플레이와 하나의 1080이 있기 때문에 실제로 도움이되므로 줌 버튼을 한 번 클릭하고 휠을 스크롤하여 웹 페이지를 확대 및 축소 할 수 있으며 웹 페이지가 원하는 방식으로 조정되면 줌을 클릭하십시오. 다시. 내 xbindkeysrc 설정은 다음과 같습니다.

"/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

이것은 질문에 대답하지 않는 것 같습니다.
TheWanderer

0

btnxLogitech 마우스를 사용하여 버튼을 다시 매핑하는 간단한 솔루션 일 수 있습니다. 모든 브랜드에서 작동해야합니다. 쉬운 그래픽 인터페이스가 있으며 사용 가능한 버튼에 대해 배울 수 있습니다. btnx는 몇 년 전에 표준 리포지토리의 일부 였지만 제거되었습니다. 현재 여기에서 사용할 수 있습니다 : https://launchpad.net/~oliverstar/+archive/ubuntu/ppa


0

마우스 앞으로 및 뒤로 버튼으로 위아래로 스크롤

먼저 필요한 패키지를 설치하십시오.

$ sudo apt install x11-utils xbindkeys xautomation

다음으로, 사용 xev에 의해 제공되는 x11-utils마우스의 뒤로 및 앞으로 버튼의 정확한 버튼 번호를 검색 할 수 있습니다.

$ xev |grep -A2 ButtonPress

내를 들어 유선 수직하기 Anker 마우스 , 다시 앞으로 각각 버튼 8, 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

유선 수직 Anker 마우스

.xbindkeysrc다음 내용으로 홈 디렉토리에 숨겨진 파일을 작성하여 계속 하십시오.

"xte 'keydown Down'"
b:8

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

"xte 'keydown Up'"
b:9

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

xte명령에 의해 제공되는 xautomation패키지.

마지막으로 이러한 변경 사항을 적용하려면 데스크톱에서 로그 아웃했다 가 다시 로그인 하십시오. 마우스 뒤로 및 앞으로 버튼을 길게 눌러 브라우저 및 기타 프로그램에서 위아래로 스크롤 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.