Eclipse에서 컴파일 할 수없는 코드로 끝나기 때문에 마우스 가운데 버튼 붙여 넣기를 좋아하지 않습니다. 모든 프로그램에서이 기능을 끄려면 어떻게해야합니까? Fedora를 실행 중입니다.
Eclipse에서 컴파일 할 수없는 코드로 끝나기 때문에 마우스 가운데 버튼 붙여 넣기를 좋아하지 않습니다. 모든 프로그램에서이 기능을 끄려면 어떻게해야합니까? Fedora를 실행 중입니다.
답변:
이 솔루션은 전체적으로 작동하며 마우스 가운데 기능을 유지합니다.
설치 xbindkeys xsel xdotool
이것을 넣어 ~/.xbindkeysrc
"echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
b:2 + Release
새로 고침 xbindkeys -p
xbindkeys
시작시 실행 pkill xbindkeys
을 중지하십시오.
Fedora 24에서는 gnome-tweak-tool
다음 명령을 사용하여 설치할 수 있습니다 .
$ sudo dnf install gnome-tweak-tool
gnome-tweak-tool
"키보드 및 마우스"탭을 열고 "중간 클릭 붙여 넣기"를 비활성화하십시오.
가운데 버튼 붙여 넣기는 왼쪽 버튼을 선택하거나 활성화하는 것과 같은 유닉스 사용자 인터페이스 표준이며 오른쪽 버튼은 다른 것을 수행합니다 (예 : 확장, 토글, 메뉴 실행 등). 대부분의 유닉스 응용 프로그램에서 붙여 넣기에 바인딩 된 것을 알 수 있습니다.
바퀴에 손가락을 대고있을 때 마우스가 지나치게 민감하다는 문제가 있다면 더 나은 마우스를 얻는 것이 좋습니다. 값싼 괜찮은 생쥐가 많이 있습니다.
마우스 버튼 2를 다른 번호로 재 할당 할 수 있습니다. 응용 프로그램은 왼쪽, 가운데 및 오른쪽 마우스 버튼을 각각 버튼 1, 2 및 3으로 식별합니다. X 세션이 시작될 때 실행되는 스크립트에이 코드를 넣으십시오 (이 작업을 수행하는 방법은 데스크탑 환경에 따라 다름).
echo 'pointer = 1 6 3 4 5' | xmodmap -
스크롤 휠 마우스는 스크롤 휠을 누를 때 중간 버튼 클릭 이벤트를 지원합니다. 이것은 훌륭한 기능이지만 자극적 일 수 있습니다. 다행히도 비활성화 할 수 있습니다.
먼저 다음과 같이 마우스의 ID를 알아야합니다.
$ xinput list | grep 'id='
어떤 것을 인쇄합니다
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ PixArt Dell MS116 USB Optical Mouse 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=6 [slave keyboard (3)]
Video Bus id=7 [slave keyboard (3)]
Power Button id=8 [slave keyboard (3)]
Sleep Button id=9 [slave keyboard (3)]
Dell KB216 Wired Keyboard id=10 [slave keyboard (3)]
Dell KB216 Wired Keyboard id=11 [slave keyboard (3)]
Eee PC WMI hotkeys id=13 [slave keyboard (3)]
id = 12 인 Dell USB 마우스가 여기에 인쇄되었습니다.
마우스 버튼 매핑을 다음과 같이 볼 수 있습니다.
$ xinput get-button-map 12
인쇄
1 2 3 4 5 6 7 8 9 10 11 12
여기서 처음 세 숫자 만 의미가 있습니다. 왼쪽, 가운데 및 오른쪽 마우스 버튼을 나타냅니다.
마우스 버튼을 0으로 설정하여 마우스 가운데 버튼을 끌 수 있습니다.
$ xinput set-button-map 12 1 0 3
또는 마우스 가운데 버튼을 1로 설정하여 마우스 왼쪽 버튼으로 전환 할 수 있습니다.
$ xinput set-button-map 12 1 1 3
그것은 나를 위해 일한다 (kubuntu 18.04 LTS)
xinput set-button-map 12 1 0 3
모든 버튼을 설정 한다는 것입니다 (이 시험에서 1-12 xinput set-button-map 12 1 0 3 4 5 6 7 8 9 10 11 12
)
붙여 넣지 않고 가운데 클릭 기능을 유지하려면 (예 : 새 탭에서 링크를 열 때 클릭하는 경우) 수행 할 수있는 작업은 다음과 같습니다.
먼저 sxhkd 및 xsel을 설치 하십시오 .
그런 다음 ./.config/.sxhkd/sxhkdrc를 다음 과 같이 구성 하십시오.
~button2
echo -n | xsel -n -i
~control + c
echo -n | xsel -n -i
~control + shift + c
echo -n | xsel -n -i
~control + x
echo -n | xsel -n -i
그리고 그것은 기본적으로입니다.
이제 sxhkd를 시작하십시오 (또는 시작시 시작하도록 구성하십시오). 이제 가운데 마우스는 더 이상 아무 것도 붙여 넣지 않고 정상적으로 작동합니다.
~/.config/sxhkd/sxhkdrc
편집 : 방금 게시 한 솔루션에 문제가 있음을 발견했습니다. 일부 프로그램 gitk
에서 (최소한 얼마나 일반적인지 확실하지 않음) 텍스트 선택이 작동하지 않습니다. 따라서 시도해보십시오. 그러나 정기적으로 사용하는 프로그램에서 텍스트를 선택하는 데 문제가 있으면 해결책을 사용하지 않는 것입니다.
설치 xsel
한 후 다음 쉘 스크립트를 실행하십시오.
#!/bin/sh
while true; do
xsel -fin </dev/null
done
이 스크립트가 실행되는 동안 (로그인시 실행되도록 설정할 수 있음) 마우스 가운데 버튼은 응용 프로그램에 붙여 넣지 않습니다. 따라서 기술적으로는 여전히 붙여 넣을 것이지만 항상 붙여 넣을 것은 없습니다.
그것이 작동하는 방식은 실행 xsel
하고 배경 ( )으로 분기하지 않고 -i
내용을 복사 ( )하고 실제로 빈 문자열을 지우고 종료하는 대신 버퍼에 유지하는 것입니다 . 종료 할 때마다 동일한 옵션으로 다시 호출 됩니다. 다른 프로그램을 복사하여 다른 프로그램이 "관심을 덜어 줄"때까지 계속 실행 되므로 새 프로세스를 지속적으로 생성하지 않고 단일 프로세스를 다시 필요할 때까지 정확하게 실행합니다. (여러 개의 스크립트 인스턴스가 실행되고 있지 않는 한 그렇게 할 필요는 없습니다.)/dev/null
-n
-f
xsel
xsel
또한 가운데 클릭 붙여 넣기에는 별도의 클립 보드가 사용되므로 일반 복사 / 붙여 넣기를 방해하지 않습니다.
이것은 내 스크립트입니다. 조정이 필요할 수 있습니다
#!/bin/bash
clear
echo
echo
echo
echo -----Now fixing your scroll button --- -hold onto pants
echo
xinput --list|grep "Virtual core XTEST pointer"
echo ---------------------------------------------------------------------------------
echo
id=$(
xinput --list|grep "Virtual core XTEST pointer" |awk '{
for(i=1; i<=NF; i++) {
tmp=match($i, /id=[0-9]+/)
if(tmp) {
print $i
}
}
}' $1 | tr -d '[:alpha:]='
)
echo fixing $id:
xinput set-button-map $id 1 10 2 4 5 6 7 8 9 3
echo
echo
xinput get-button-map $id
echo ---------------------------------------------------------------------------------