나는 여기서 EitherMouse를 언급 할 가치가 있다고 생각합니다. Windows 상자를 사용해야 할 때 매우 기쁘게 생각합니다. 멀티 마우스 설정 관리가 쉬워집니다.
웹 사이트 http://www.eithermouse.com/ 에서 도구를 다운로드 할 수 있습니다 .
후손을 위해 GNU / Linux 용 솔루션도 여기에 포함시킬 것입니다. 내 생각에 가장 좋은 방법은 사용자 정의 Xorg InputClass 섹션 구성을 정의하는 것입니다. 마우스가 감지 될 때마다 적용됩니다. 내 구성 파일은 다음과 같습니다 /etc/X11/xorg.conf.d/50-mouses-config.conf
.
Section "InputClass"
Identifier "Lachesis Left Handed"
MatchUSBID "1532:000c"
Option "ButtonMapping" "3 2 1"
EndSection
Identifier
값은 중요하지 않습니다. lsusb
명령을 사용하여 USB ID를 찾을 수 있습니다 . 사용 가능한 버튼을 확인하려면 xev
마우스 버튼을 누를 때 도구를 사용하여 버튼 ID를 얻을 수 있습니다. 이 명령 xinput list
을 사용하면 시스템의 모든 입력 장치 목록과 xinput ID를 얻을 수 있습니다. 명령을 사용하여 장치의 전체 버튼 목록을 표시 할 수 있습니다. xinput get-button-map N
여기서 N은 장치의 xinput ID입니다 (예 :) xinput get-button-map 10
. 다음 xinput set-button-map N *mapping*
과 같은 명령을 사용하여 장치의 버튼 매핑을 실험 해 볼 수 있습니다 .xinput set-button-map 10 3 2 1
새 Xorg 구성을 적용하려면 X 세션을 다시 시작해야합니다. 문제가 발생하면 Xorg.log ( tail -f /var/log/Xorg.0.log
)가 무엇이 잘못되었는지에 대한 힌트를 줄 수 있습니다.
xinput set-button-map
대안으로 사용될 수 있지만, 덜 동적 (기기가 검출 될 때 자동으로 적용되지 않음)이다. 시작할 때 다음 스크립트를 실행하도록 구성 할 수 있습니다 (우분투에는 시작 응용 프로그램 GUI가 있습니다). 어떤 이유로 ~ / .profile 파일에서 스크립트를 호출하면 작동하지 않습니다. MOUSE_NAME 변수는 xinput list
명령 출력에서 마우스에 지정된 이름에 해당합니다 .
#!/bin/bash
MOUSE_NAME="Razer Razer Lachesis"
BUTTONS_MAP="3 2 1"
while read -r line; do
raw_line=$(grep "$MOUSE_NAME" | grep "pointer")
if [ ! -z "$raw_line" ]; then
mouse_id=$(echo "$raw_line" | cut -d '=' -f2 | sed 's/\t.*//g')
echo "Found ${MOUSE_NAME}'s id: $mouse_id"
xinput set-button-map $mouse_id $BUTTONS_MAP
break
fi
done < <(xinput list)