Щелчки мышью, когда я отпускаю кнопку

В Ubuntu 12.04, мои щелчки мышью, когда я отпускаю кнопку.

Что происходит (плохо): Я щелкаю правой кнопкой (mousedown), контекстное меню появляется, когда я отпускаю кнопку мыши (mouseup), объект под курсором нажат.

Что должно произойти (хорошее): Я щелкаю правой кнопкой (mousedown), контекстное меню появляется, ничего не происходит, когда я отпускаю кнопку. Для нажатия на объект в контекстном меню я обычно нажимаю его правой кнопкой мыши.

Я испытал это поведение в Chrome, файловом браузере, и в терминале гнома. Мышью является Razer DeathAdder (но я просто выполняю любые драйверы Ubuntu, выбранная автоматически), и если она имеет значение, я использую графические драйверы AMD/ATI.

5
задан 21 August 2012 в 08:06

3 ответа

Если Вы не перемещаете свою мышь в это время, под курсором не должно быть никакого "пункта меню". Контекстное меню открывается таким образом, что его левый верхний угол в курсоре, и существует поле ниже к следующему пункту меню.

Однако, если на отжатии кнопки мыши существует пункт меню под курсором, , требовал , поведение состоит в том, чтобы запустить тот пункт меню. Это его, как Вы (или по крайней мере многие люди) обычно продолжаете двигаться: кнопка мыши вниз, переместите курсор в желаемый пункт меню, отжатие кнопки мыши для активации того объекта.

, Если нет никакого пункта меню под курсором после кнопки мыши вниз, то поведение, поскольку Вы описали: отжатие кнопки мыши не уничтожает контекстное меню.

Поэтому, возможно, Ваша мышь очень чувствительна, и консервативное событие сопровождается перемещением курсора?

2
ответ дан 21 October 2019 в 13:12

Вот моя фиксация:

Во-первых, необходимо скомпилировать и установить sxhkd, отсюда:

https://github.com/baskerville/sxhkd

который является действительно прохладной программой.

Затем в Вашем ~/.config/sxhkd/sxhkdrc добавляют этот рецепт:

~button3
  for id in `xinput list | grep 'slave  pointer' | grep -v XTEST | sed -e 's/.*id=\([0-9]\+\).*/\1/'`; do xinput set-prop $id "Device Enabled" 0; done; \  
  xte 'mouseup 3' 'mousermove 0 -1'; \ 
  sleep 0.3; \
  for id in `xinput list | grep 'slave  pointer' | grep -v XTEST | sed -e 's/.*id=\([0-9]\+\).*/\1/'`; do xinput set-prop $id "Device Enabled" 1; done

Как это работает, sxhkd получает событие щелчка правой кнопкой со своим xcb слушателем и воспроизводит его назад, это - то, для чего тильда. После этого мы выключаем сенсорную панель, перемещаем курсор мыши вверх один пиксель так, чтобы первая запись не была выделена, сон для 300 мс для игнорирования любого пальца, перетаскивающего после щелчка, который отбрасывает положение, и повторно включают указывающие устройства.

Это работает отлично над Chromebook, который я настраиваю.

ОБНОВЛЕНИЕ: Я изменил sxhkd рецепт для работы со всеми устройствами ввода данных указателя, не просто сенсорными панелями.

2
ответ дан 21 October 2019 в 13:12

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

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

1
ответ дан 21 October 2019 в 13:12

Другие вопросы по тегам:

Похожие вопросы: