Windows에서는 가운데 버튼을 클릭하는 데 익숙하며 "빠른 스크롤"옵션을 위 또는 아래로 제공합니다. Linux에서이 동작을 어떻게 얻을 수 있습니까? 현재 중앙 클릭시 뒤로 버튼을 사용하는 것 같습니다.
CentOS에서 Gnome을 사용합니다.
Windows에서는 가운데 버튼을 클릭하는 데 익숙하며 "빠른 스크롤"옵션을 위 또는 아래로 제공합니다. Linux에서이 동작을 어떻게 얻을 수 있습니까? 현재 중앙 클릭시 뒤로 버튼을 사용하는 것 같습니다.
CentOS에서 Gnome을 사용합니다.
답변:
이 Windows 기능은 실제로 유닉스 세계로 진출한 적이 없습니다. 유닉스 세계에서 마우스 가운데 버튼의 주요 목적은 클립 보드 내용 (또는보다 정확하게는 마우스로 선택한 텍스트, 자동 복사 됨)을 붙여 넣는 것입니다. Windows에서 Linux 스타일의 마우스 가운데 버튼을 지원하는 Firefox 및 Chrome과 같은 플랫폼 간 응용 프로그램은 그 반대이지만 대부분의 응용 프로그램은 이러한 종류의 세분화 된 스크롤을 지원하지 않습니다.
그럼에도 불구하고 시스템 수준에서 상당히 가깝게 접근 할 수 있습니다. 마우스 버튼을 누르면 마우스 움직임이 휠 이벤트로 변환되도록 마우스 버튼을 설정할 수 있습니다. 응용 프로그램은 일반적으로 하나의 전체 행 또는 열에 의해 스크롤되는 것으로 해석되는 휠 이벤트를 수신하기 때문에 이전과 동일한 기능이지만 모션이 고르지 않을 수 있습니다.
이 구성을 사용하려면 xinput 프로그램을 사용하십시오 (GUI 프론트 엔드가 있는지 모르겠습니다). 먼저 다음 명령을 실행하여 포인팅 장치의 이름을 확인하십시오.
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Generic USB Mouse id=8 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ USB Keyboard id=9 [slave keyboard (3)]
예를 들어 위의 출력에서 포인터 장치는 Generic USB mouse
입니다. 다음 명령을 실행하여 조정할 수있는 특성을 나열 할 수 있습니다.
xinput --list-props 'Generic USB Mouse'
찾고있는 속성 집합은 "Evdev Wheel Emulation"속성입니다. 다음 설정에서 마우스 가운데 버튼 (버튼 2)을 누르면 마우스를 움직이면 휠 이벤트가 전송됩니다 (4 = 위로, 5 = 아래로, 6 = 왼쪽, 7 = 오른쪽).
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5
다른 매개 변수 (관성, 시간 종료)를 조정할 수 있습니다.
이 명령을 스크립트에 넣을 수 있습니다. #!/bin/sh
첫 번째 줄로 추가 하고 스크립트 파일을 실행 가능하게 만드십시오 (예 :) chmod +x ~/bin/activate-wheel-emulation.sh
. 그런 다음 세션을 시작할 때 실행할 명령 목록에 해당 스크립트를 추가하십시오 ( gnome-session-properties
구성 할 수 있음).
루트 액세스 권한이 있고 모든 사용자 (가정용 컴퓨터에서 허용)를 변경하려는 경우 X.org 서버 구성 파일을 통해 간단하게 수행 할 수 있습니다 . 루트로 마우스 드라이버/etc/X11/xorg.conf.d/wheel-emulation.conf
설정이 포함 된 파일을 작성하십시오 . 설정은 동일하지만 약간 다르게 구성되어 있습니다.
Section "InputClass"
Identifier "Wheel Emulation"
MatchProduct "Generic USB Mouse"
Option "EmulateWheel" "on"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
Evdev Wheel Emulation Timeout
매개 변수를 너무 줄이면 마우스 가운데 버튼 (클릭) 기능이 모두 손실 될 수 있습니다. 예를 들어 Evdev Wheel Emulation Timeout
의 값 이하로 줄이면 Evdev Middle Button Timeout
더 이상 중간 버튼 클릭 이벤트가 생성되지 않습니다. 개인적인 경험에서, 다음은 합리적으로 잘 작동하는 것 같다 :
xinput --set-prop 'Generic USB Mouse' 'Evdev Middle Button Emulation' 1
. xinput --set-prop 'Generic USB Mouse' 'Evdev Middle Button Timeout' 50
. xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Timeout' 100
. 너무 빠른 클릭 및 스크롤 기능을 제공하지만 너무 빨리 트리거되면 증가를 시도하십시오 Evdev Wheel Emulation Timeout
(200이 기본값이라고 생각합니다)
Device "evdev"
의 "EmulateWheelButton"
값 주위에 큰 따옴표 를 추가 하고 배치 하여 작동하는 버전을 파생했습니다 "2"
. (죄송합니다. 이러한 변경 중 하나 이상이 문제를 해결하는지 조사 할 시간이 없었습니다.)
Device "evdev"
이해 가되지 않는 것 같아요 Driver "evdev"
? 나는 이것이 MatchProduct
일반적인 USB 마우스가 아닌 모든 입력 장치에 대한 옵션을 설정하는 지침 의 대안이라고 생각합니다 .
Pointer_EnableKeys
하거나 (Google에서 여기에 새로운 질문을 할 수 있음) XKB (검색 키 보드)로 더 멋진 동작을 설정할 수 있습니다 : 마우스 키를 누르거나 여기에서 원하는 것을 정확히, 정확히 가질 수없는 경우 해결해야 할 문제에 대해 새 질문을하십시오.