Ho guardato dappertutto e sono rimasto scioccato di non riuscire a trovare nulla sull'argomento.Evento Scrollwheel in X11
Voglio solo essere in grado di catturare eventi da una semplice rotellina del mouse.
Ho guardato dappertutto e sono rimasto scioccato di non riuscire a trovare nulla sull'argomento.Evento Scrollwheel in X11
Voglio solo essere in grado di catturare eventi da una semplice rotellina del mouse.
Sì, questo è incredibilmente confuso. Questo perché X11 ha deciso di assegnare eventi rotellina del mouse come i pulsanti del mouse 4 e 5. La ricezione degli eventi scrollwheel è la stessa della ricezione degli eventi di pressione del pulsante del mouse (eventi ButtonPress secondo /usr/include/X11/X.h). Si noti inoltre che il file di intestazione definisce Button1..Button5. I pulsanti 4 e 5 corrispondono a su o giù - forse non quell'ordine, dovrai determinarlo empiricamente. Il file di intestazione non menziona mai gli eventi scrollwheel.
Per fortuna, API di livello superiore (come GDK) forniscono esplicitamente supporto scrollwheel per nome.
Inoltre, non ogni "ticchettio" della rotellina genererà un evento di stampa e di rilascio, uno dopo l'altro. È possibile ignorare tranquillamente gli eventi di rilascio per questi pulsanti. – JvO
@MultimediaMike Quindi ho _finalmente_ avuto la possibilità di lavorare su questo. Parte del mio problema iniziale prima era che non stavo catturando gli eventi corretti. Due domande: è specificata la quantità di scorrimento (o si tratta solo di più eventi) e come viene eseguito lo scorrimento orizzontale? – imallett
@imallet Per gestire lo scorrimento orizzontale, è necessario ascoltare i pulsanti 6 e 7 che corrispondono a sinistra e a destra. – matteodelabre