Как сделать X менее чувствительным при щелчке правой кнопкой мыши?

19

Всякий раз, когда я щелкаю правой кнопкой мыши в X, я почти всегда запускаю первую опцию в меню, если я не думаю о том, что я делаю, потому что я:

  • Мышь вниз; появляется меню
  • Случайно перетащите мышь на 1-3 пикселя вниз и / или вправо
  • Мышь вверх; пункт меню выбран

Есть ли способ настроить это так, чтобы меню не вызывали так легко? Если это имеет значение, я использую Gnome 3 / Cinnamon в Gentoo Linux.

Мэтью Шарли
источник
3
Просто идея: не удерживайте правую кнопку и дождитесь появления меню и т. Д. Если вы отпускаете, как при обычном щелчке, меню остается открытым, и вы можете перемещать мышь без выбора элемента. (Протестировано с Gnome3) Вероятно, это больше привычка, но это не должно быть таким раздражающим, если люди используют его по-своему, с нажатой кнопкой. У старого материала X всегда было такое поведение, поскольку меню исчезало, как только вы отпускали кнопку, независимо от того, был выбран элемент или нет.
Васкес
2
@vasquez: Да, но у меня большой экран (27 дюймов, 2560x1440), и моя мышь обладает высокой чувствительностью, чтобы помочь ей передвигаться. Для перемещения ее на несколько пикселей не требуется много, и мои привычки таковы . Я , как правило, нажмите кнопку «на ходу» , так сказать , я обычно не нажать перетаскивание , чтобы выбрать материал , из меню, я родом из фона Windows , для графического интерфейса.
Мэтью Scharley
2
Может ли быть настройка темы GTK3? Т.е. создать более широкий внутренний интервал всплывающего (контекстного) меню, чтобы внешние 3 пикселя меню не реагировали на нажатия. GTK3 поддерживает их оформление через CSS, поэтому это может быть возможно (и не слишком сложно).
sr_
@sr_: интересная идея. Я посмотрю, если завтра не будет других ответов, но сегодня вечером у меня не будет времени.
Мэтью Шарли
1
Знаете что, я бы хотел увидеть этот ответ. Это раздражает и меня.
whoami

Ответы:

2

Вы спрашивали о том, как сделать это в «X», но этот параметр обычно контролируется с помощью утилиты окружения рабочего стола. В KDE у вас есть настройки мыши. Если ваше K-меню не находит его для вас, когда вы просто набираете «мышь», вы можете запустить его:

а) K-меню -> Компьютер -> Системные настройки -> Устройство ввода (в разделе Оборудование) -> Мышь

или

б) В командной строке, в терминале или другом меню «Пуск» введите команду «systemsettings» и выберите «Устройство ввода» в разделе «Оборудование».

Посмотрите на вкладку «Дополнительно» в настройках мыши KDE и отрегулируйте настройку порога указателя, времени задержки перетаскивания и расстояния перетаскивания. Увеличьте значения, чтобы сделать его менее чувствительным.

Подобные утилиты есть в любой другой среде рабочего стола, которую я когда-либо использовал.

Johan
источник
1

Если вы ищете решение, не зависящее от среды рабочего стола, взгляните на xinput.

Чтобы получить имена и идентификаторы ваших известных устройств ввода X, сначала запустите

xinput --list

Вы увидите что-то вроде этого:

~$ xinput --list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=11   [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)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ HP HD Webcam [Fixed]                      id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
    ↳ HP WMI hotkeys                            id=12   [slave  keyboard (3)]

Под каждым ведущим устройством находится несколько подчиненных устройств. Определите ведомое устройство, которое вы используете, по описательному имени. Я бы выбрал тачпад Synaptics, потому что это то, чем я пользуюсь, но вы бы выбрали мышь или любое другое указательное устройство, которое у вас есть.

Теперь перечислите свойства на этом устройстве - вы можете использовать либо имя устройства (в кавычках), либо идентификатор

xinput --list-props DEVICE

например

~$ xinput --list-props 11
Device 'SynPS/2 Synaptics TouchPad':
        Device Enabled (132):   1
        Coordinate Transformation Matrix (134): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (254):     1
        Device Accel Constant Deceleration (255):       2.500000
        Device Accel Adaptive Deceleration (256):       1.000000
        Device Accel Velocity Scaling (257):    12.500000
        Synaptics Edges (258):  1767, 5395, 1649, 4613
        Synaptics Finger (259): 25, 30, 256
        Synaptics Tap Time (260):       180
        Synaptics Tap Move (261):       239
        Synaptics Tap Durations (262):  180, 180, 100
        Synaptics ClickPad (263):       0
        Synaptics Tap FastTap (264):    0
        Synaptics Middle Button Timeout (265):  75
        Synaptics Two-Finger Pressure (266):    282
        Synaptics Two-Finger Width (267):       7
        Synaptics Scrolling Distance (268):     100, 100
        Synaptics Edge Scrolling (269): 0, 0, 0
        Synaptics Two-Finger Scrolling (270):   0, 0
        Synaptics Move Speed (271):     1.000000, 1.750000, 0.039800, 40.000000
        Synaptics Edge Motion Pressure (272):   30, 160
        Synaptics Edge Motion Speed (273):      1, 435
        Synaptics Edge Motion Always (274):     0
        Synaptics Off (275):    0
        Synaptics Locked Drags (276):   0
        Synaptics Locked Drags Timeout (277):   5000
        Synaptics Tap Action (278):     0, 0, 0, 0, 0, 0, 0
        Synaptics Click Action (279):   1, 1, 0
        Synaptics Circular Scrolling (280):     0
        Synaptics Circular Scrolling Distance (281):    0.100007
        Synaptics Circular Scrolling Trigger (282):     0
        Synaptics Circular Pad (283):   0
        Synaptics Palm Detection (284): 0
        Synaptics Palm Dimensions (285):        10, 200
        Synaptics Coasting Speed (286): 20.000000, 50.000000
        Synaptics Pressure Motion (287):        30, 160
        Synaptics Pressure Motion Factor (288): 1.000000, 1.000000
        Synaptics Resolution Detect (289):      1
        Synaptics Grab Event Device (290):      1
        Synaptics Gestures (291):       1
        Synaptics Capabilities (292):   1, 0, 1, 1, 1, 1, 1
        Synaptics Pad Resolution (293): 74, 40
        Synaptics Area (294):   0, 0, 0, 0
        Synaptics Noise Cancellation (295):     8, 8
        Device Product ID (249):        2, 7
        Device Node (250):      "/dev/input/event8"

Вам придётся поиграться со значениями разных свойств. Это зависит от того, какие опции предоставляет ваше устройство. Вам нужно будет прочитать список и попытаться определить, какие из них связаны с чувствительностью.

Взглянув на свое устройство, я замечаю такие элементы, как Tap Time, Tap Move, FastTap и т. Д., Которые, на мой взгляд, связаны с чувствительностью.

Как правило, вы будете делать

xinput --set-prop DEVICE PROPERTY VALUE, Страница man объясняет это так:

--set-prop [--type = atom | float | int] [--format = 8 | 16 | 32] значение свойства устройства [...] Установить для свойства заданное значение (я). Если не указано, формат и тип свойства остаются как есть. Аргументы интерпретируются в соответствии с типом свойства.

пример

xinput --set-prop 11 261 250

Это установит Свойство Device 11 261 в значение 250.

Вы также можете использовать длинный формат, указать каждое свойство «имя», например,

~$ xinput --set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Off" 1

Обратите внимание, что приведенный выше пример выключает сенсорную панель. Если установить значение «0», он снова включится.

Johan
источник
Вопрос о мышке , а не о тачпаде.
Майкл Хэмптон
@MichaelHampton Нет разницы в том, как xinput обрабатывает один над другим. Я использовал тачпад в качестве примера, поскольку это то, что у меня есть. Я добавлю комментарий в ответ, чтобы прояснить это.
Йохан
Нет никакой разницы для xinput, конечно. Но у мыши здесь не будет соответствующих настроек.
Майкл Хэмптон
Дело в том, что вы используете xinput для настройки параметров указателя. Либо вы не понимаете, что я сказал, либо я не понимаю вашу проблему.
Йохан
0

Если вы установите SystemSettings> Mouse (или что-то подобное), вы можете изменить чувствительность мыши, порог перетаскивания и двойной тайм-аут щелчка.

сюгэндо
источник
0

Я думаю, что @Johan дал хорошие ответы. Еще одна вещь, которую нужно добавить, это то, что вы можете попробовать gconf-editor, которая управляет настройками Gnome. Вероятно, он доступен через что-то вроде «Системные настройки», или вы можете запустить его из терминала.

hunter2
источник
Спасибо @ hunter2 ... С момента написания этого ответа я подключал различные USB и другие указательные устройства, и оказалось, что большинство из них имеют крайне ограниченные возможности настройки. Это может быть исправлено путем идентификации конкретного устройства, например, с помощью подробного драйвера / настроек в xorg.conf. К сожалению, к сожалению, это не происходит автоматически в моей операционной системе (Kubuntu 12.10)
Йохан,
0

Тема GUI может иметь большое значение здесь. Сейчас я использую комбинацию тем «Рабочий стол» и «Рабочая область», которая рисует контекстные меню с неактивной областью «рамки», которая, по моим оценкам, имеет ширину около 5 пикселей. Я предполагаю, что наборы тем для других сред рабочего стола имеют аналогичные варианты. Вы должны переместить указатель за эту неактивную область, прежде чем сможете (случайно) активировать опцию.

Johan
источник