Obtendo o trackpad Synaptics para enviar eventos reais de roda de rolagem

10

Eu tenho um laptop (um Samsung Series 9) com trackpad Synaptics e tenho o Windows XP nele.

Um dos recursos interessantes deste trackpad é que ele permite rolar colocando dois dedos no trackpad e, em seguida, arrastando-os para cima ou para baixo.

Mas o mais irritante é o seguinte: em vez de agir como qualquer outra roda de rolagem existente e enviar eventos de roda de rolagem para o Windows, por algum motivo o trackpad Synaptics tem uma lógica especial para rolagem. Ele altera o cursor do mouse para um desenho de uma barra de rolagem e depois rola a própria janela usando um mecanismo aparentemente proprietário.

O problema é que essa rolagem não funciona em todos os aplicativos. Por exemplo, ele não funciona em aplicativos baseados em GTK, que eu uso muito.

Eu realmente não tenho ideia de por que os desenvolvedores da Synaptics optaram por reinventar a roda de rolagem, às custas de seus usuários ...

De qualquer forma, existe uma maneira de fazer com que meu trackpad envie eventos de rolagem padrão, para que ele funcione em todos os aplicativos?

    
por Ram Rachum 06.01.2012 / 21:08

3 respostas

7

De Rolagem em aplicativos GTK + com driver synaptics :

When using a Windows laptop, you might be stuck with a synaptic touchpad.

Those crappy drivers with their so-called virtual scrolling create a fake window below the cursor to display their custom scrolling icon.

That window interfere with the signal sent to the application under, and GTK for some reason can’t detect that (most likely the devs don’t care about us). The result is being unable to scroll in popular GTK apps like Wireshark or Pidgin.

After playing with Spy++ and Procmon for some time, I found an interesting registry key that solved my problem. This setting will disable the custom cursor when you scroll, effectively fixing the scrolling problem in GTK apps.

First you have to open regedit. Navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPEnh
and create a new DWORD called UseScrollCursor with a value of 0.

Restart SynTPEh (or reboot).

Scrolling should work in GTK apps now, but you won’t see the scrolling cursor anymore.

    
por 11.01.2012 / 12:17
1

Deixe-me explicar dessa maneira. O touch pad em si tem absolutamente 0 conceito de rolagem. ele detecta um toque ... e relata um X e um Y. O motorista pega essa informação ... e determina como interpretá-la como vários gestos de mouse. Então ... em suma ... cabe ao motorista determinar o WTF que um pergaminho é. Então o problema aqui é o driver ... ou a configuração do driver. E desde que você não especificou o sabor do linux ... seus resultados podem ser bastante mistos. A Synaptics criou uma suíte para tipos comuns de Linux ... mas o que você precisa para adquiri-los. ou se está disponível para sua distro ... está além de mim.

    
por 06.01.2012 / 22:08
0

Existe uma opção de pinchzoom para o meu rato sináptico que emula um deslocamento de roda. Procure nas configurações do dispositivo do mouse > Você coloca dois dedos no mousepad e aproxima-os ou separa-os e ele vai rolar para um lado ou para o outro.

    
por 03.12.2015 / 19:27