LINUX.ORG.RU

Как поставить таймаут между двойными нажатиями?

 , , ,


0

1

эмуляция middle кнопки (комментарий)

Подумал и решил, что не надо ничего ремапить и отключать. Надо просто поставить таймаут между двумя даблкликами и всё. Как это сделать?

Какая задача, я не понимаю. Между двойными нажатиями чего и для чего? Для эмуляции middle button? Есть таймауты в evdev:

       Option "Emulate3Timeout" "integer"
              Sets the timeout (in milliseconds) that the driver waits  before
              deciding  if  two  buttons where pressed "simultaneously" when 3
              button emulation is enabled.  Default: 50. Property: "Evdev Mid‐
              dle Button Timeout".


       Option "EmulateThirdButtonTimeout" "integer"
              Specifies the timeout in milliseconds between the initial button
              press and the generation of the emulated button event.  Default:
              1000. Property: "Evdev Third Button Emulation Timeout".

В libinput, по-моему, тоже какие-то такие свойства есть. Но о чем ты говоришь?

Zubok ★★★★★ ()

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

Можете запустить ″libinput debug-events --verbose″ и посмотреть, что пишется при нажатии колеса. Если там будет ″DEBOUNCE_STATE_IS_UP″, то защита уже, как бы включена.

mky ★★★★★ ()
Ответ на: комментарий от mky

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

event0  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_OTHERBUTTON → DEBOUNCE_STATE_IS_UP
event0  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
-event0   POINTER_BUTTON   +0.000s      BTN_MIDDLE (274) pressed, seat count: 1
event0  - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_DOWN
event0  - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS
 event0   POINTER_BUTTON   +0.240s      BTN_MIDDLE (274) released, seat count: 0
libinput-toolsevent0  - debounce state: DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_IS_UP_WAITING
event0  - debounce state: DEBOUNCE_STATE_IS_UP_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
event0  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
 event0   POINTER_BUTTON   +1.216s      BTN_MIDDLE (274) pressed, seat count: 1
event0  - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_DOWN
event0  - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS
 event0   POINTER_BUTTON   +1.488s      BTN_MIDDLE (274) released, seat count: 0
libinput-toolsevent0  - debounce state: DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_IS_UP_WAITING
event0  - debounce state: DEBOUNCE_STATE_IS_UP_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
event0  - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
 event0   POINTER_BUTTON   +2.536s      BTN_MIDDLE (274) pressed, seat count: 1
event0  - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_DOWN
event0  - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS
 event0   POINTER_BUTTON   +2.752s      BTN_MIDDLE (274) released, seat count: 0
libinput-toolsevent0  - debounce state: DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_IS_UP_WAITING
event0  - debounce state: DEBOUNCE_STATE_IS_UP_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
serg002 ()
Ответ на: комментарий от serg002

так а что модней из них? evdev или libinput?

В последних дистрах по умолчанию иксы используют библиотеку libinput через иксовый драйвер. Я до сих пор использую evdev, меня устраивает.

Zubok ★★★★★ ()