Мне не нравится вставлять среднюю кнопку мыши, потому что я часто получаю некомпилируемый код в Eclipse. Как я могу отключить это (во всех программах)? Я управляю Fedora.
Мне не нравится вставлять среднюю кнопку мыши, потому что я часто получаю некомпилируемый код в Eclipse. Как я могу отключить это (во всех программах)? Я управляю Fedora.
Ответы:
Это решение будет работать глобально и сохранять функциональность средней мыши.
устанавливать xbindkeys xsel xdotool
Поместите это в ~/.xbindkeysrc
"echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
b:2 + Release
Reload xbindkeys -p
Запустить xbindkeys
при запуске, pkill xbindkeys
чтобы остановить.
В Fedora 24 вы можете установить gnome-tweak-tool
с помощью следующей команды:
$ sudo dnf install gnome-tweak-tool
Откройте gnome-tweak-tool
и перейдите на вкладку «Клавиатура и мышь» и отключите «Нажатие средней кнопкой мыши».
Наличие вставки средней кнопки является стандартом пользовательского интерфейса Unix, например, когда левая кнопка выбирает или активирует, а правая кнопка делает что-то еще (например, расширение, переключение, запуск меню,…). Вы найдете это обязательным для вставки в большинстве приложений Unix.
Если ваша проблема в том, что ваша мышь чрезмерно чувствительна, когда вы нажимаете на колесо, я советую приобрести лучшую мышь. Есть много дешевых приличных мышей.
Вы можете переназначить кнопку мыши 2 на другой номер. Приложения определяют левую, среднюю и правую кнопки мыши как кнопки 1, 2 и 3 соответственно. Поместите этот код в сценарий, который выполняется при запуске сеанса X (как это сделать, зависит от среды рабочего стола).
echo 'pointer = 1 6 3 4 5' | xmodmap -
Мышь с колесиком прокрутки поддерживает событие нажатия средней кнопки при нажатии на колесо прокрутки. Это отличная функция, но вы можете найти ее раздражающей. К счастью, это можно отключить.
Во-первых, вам нужно знать идентификатор мыши, например так:
$ 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)]
Моя мышь Dell Usb напечатана здесь, для которой id = 12
Итак, я могу просмотреть отображение моей кнопки мыши как:
$ 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
ссылка ссылка https://wiki.ubuntu.com/X/Config/Input
у меня работает (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
Это общее соглашение, которого придерживаются многие программы. Глобального способа его выключить не существует, вы должны делать это по программам.
РЕДАКТИРОВАТЬ: (если не считать, как говорит Жиль, отключение кнопки мыши 2. Но у некоторых программ есть и другие варианты использования кнопки мыши 2, поэтому я бы не рекомендовал это).
РЕДАКТИРОВАТЬ: Я только что обнаружил проблему с решением, которое я опубликовал: в некоторых программах ( gitk
по крайней мере, не уверен, насколько распространенным оно является) это помешает работе выбора текста. Попробуйте, но если у вас есть проблемы с выделением текста в программе, которую вы регулярно используете, то решение состоит в том, чтобы прекратить использовать это.
Установите xsel
и запустите следующий сценарий оболочки:
#!/bin/sh
while true; do
xsel -fin </dev/null
done
Пока этот скрипт запущен (вы можете настроить его на вход в систему), средняя кнопка мыши не будет вставляться ни в одно приложение. Технически это все равно будет вставлено, но всегда будет нечего вставлять.
Он работает так, что выполняет xsel
и копирует -i
содержимое ( ) /dev/null
, без разветвления на background ( -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 ---------------------------------------------------------------------------------