Мені не подобається вставляти середню кнопку кнопок миші, тому що в 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
та перейдіть на вкладку «Клавіатура та миша» та відключіть «Встановити середній клацання миші».
Налаштування середньої кнопки є стандартним для інтерфейсу користувальницького інтерфейсу, як, наприклад, вибір лівої кнопки або активація, а права кнопка робить щось інше (наприклад, розширення, перемикання, запуску меню,…). Ви знайдете його прив’язаним до вставки в більшості програм 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
Це загальна конвенція, якої дотримуються багато програм. Немає глобального способу її вимкнути, ви повинні це робити за програмою за програмною ознакою.
EDIT: (окрім, як каже Гілль, відключення кнопки миші 2. Але деякі програми мають інші можливості використання кнопки миші 2, тому я б не рекомендував цього.)
EDIT: Я щойно знайшов проблему з опублікованим вами рішенням: у деяких програмах ( 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 ---------------------------------------------------------------------------------