Quero emular a rolagem horizontal quando usar minha roda de rolagem (vertical) e pressionar Shift.
Em alguns aplicativos (Chrom {e, ium}) isso já funciona, mas estou procurando uma solução genérica para aplicativos X.
O mais próximo que cheguei até agora é xbindkeys+ xdotool.
# ~/.xbindkeysrc
"xdotool click 6"
shift + b:4
"xdotool click 7"
shift + b:5
O problema é que xbindkeysparece perder alguns eventos e, ocasionalmente, um rolo vertical "passa". Isso é muito chato. Parece que xbindkeysestá usando algum tipo de pesquisa?
Também não gosto de gerar centenas de comandos de shell por segundo.
Eu tenho uma tela pequena e tenho que rolar muito horizontalmente.
Como posso obter rolagem horizontal genérica?
ATUALIZAR:
Existe outra maneira de fazer principalmente o que eu quero com xbindkeyse xmodmap.
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'"
c:50
"xmodmap -e 'pointer = default'"
release + shift + c:50
Quando Shiftpressionado, os botões apontadores 4 e 5 são mapeados para 6 e 7. (Os botões 4/5 são a rolagem vertical anterior e 6/7 para a rolagem horizontal). c:50é a Shifttecla esquerda . Na liberação da tecla, o mapeamento padrão do ponteiro é restaurado.
Isso resolve bem o problema "muitos eventos". No entanto, a tecla Shift não funciona mais como modificador normal. Tentei reeditar os Shifteventos de imprensa / comunicado da xdotoolseguinte forma:
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'; xdotool keydown Shift_L"
c:50
"xmodmap -e 'pointer = default'; xdotool keyup Shift_L"
release + shift + c:50
De acordo com xevos Shifteventos, mas acho que não é mais reconhecido como um modificador. Por exemplo, pressionar Shift+ Anão produzirá maiúsculas A.