x botão da tecla pressione a tecla repetir

2

Liguei um botão no meu dispositivo Wacom assim:

xsetwacom --set "Wacom Cintiq 13HD touch Pad pad" button 8 key "]"

e quando pressiono e pressiono o botão, isso só resulta em um evento-chave. Como faço para corrigir isso?

    
por BrainStorm.exe 13.05.2017 / 23:43

1 resposta

3

TL; DR

Desculpe, não tenho um desses ainda ... Você pode sugerir uma edição neste local para isso.

Isso tem a ver com como xsetwacom analisa as chaves que você fornece. Se você não especificar pressionado ( + ) ou liberado ( - ), e a chave que você está ligando não for uma tecla modificadora, você presumirá que deseja pressionar a tecla apenas uma vez. Podemos ver isso investigando as propriedades do dispositivo depois de definirmos a ligação. Podemos ver isso com xsetwacom -s --get "Wacom Cintiq 13HD touch Pad pad" . Produz uma saída assim:

Property 'Wacom Tablet Area' does not exist on device.
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "1" "key +XF86Finance -XF86Finance "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "2" "+XF86WWW -XF86WWW "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "3" "+Control_L +s -s "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "8" "+bracketright -bracketright "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "9" "+bracketleft "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "10" "+Control_L +y -y "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "11" "+KP_Add -KP_Add "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "12" "+Control_L +z -z "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "13" "+KP_Subtract -KP_Subtract "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "ToolDebugLevel" "0"
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "TabletDebugLevel" "0"
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Suppress" "2"
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "RawSample" "4"
Property 'Wacom Pressurecurve' does not exist on device.
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Mode" "Absolute"
Property 'Wacom Hover Click' does not exist on device.
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Touch" "off"
Property 'Wacom Hardware Touch Switch' does not exist on device.
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Gesture" "off"
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "ZoomDistance" "0"
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "ScrollDistance" "0"
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "TapTime" "250"
Property 'Wacom Proximity Threshold' does not exist on device.
Property 'Wacom Rotation' does not exist on device.
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "RelWheelUp" "1" "button +5 "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "RelWheelDown" "2" "+4 "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "AbsWheelUp" "3" "+4 "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "AbsWheelDown" "4" "+5 "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "AbsWheel2Up" "5" "+4 "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "AbsWheel2Down" "6" "+5 "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "StripLeftUp" "1" "+4 "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "StripLeftDown" "2" "+5 "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "StripRightUp" "3" "+4 "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "StripRightDown" "4" "+5 "
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Threshold" "0"
xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "BindToSerial" "0"
Property 'Wacom Pressure Recalibration' does not exist on device.

Se olharmos para a linha relevante

xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "8" "+bracketright -bracketright "

você vê que esse botão está ligado a um único pressionamento de tecla, mas quando você olha para o botão 12 (que limitei anteriormente com o valor "key ctrl z"):

xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "12" "+Control_L +z -z "

Você vê que o modificador tem apenas um sinal de adição. Se fizermos isso com a chave desejada usando o identificador de chave da saída de configurações e apenas o comando de imprensa, da seguinte forma:

xsetwacom set "Wacom Cintiq 13HD touch Pad pad" "Button" "8" "key +bracketright "

então, segurando o botão, a tecla será pressionada e mantida pressionada.

Notas:

Você pode passar o ID do xinput em vez do nome do dispositivo. xsetwacom --list devices vai te dar o ID, apenas tenha em mente que o número pode não ser o mesmo da próxima vez que o sistema for inicializado.

O -s no comando echo é para que ele produza comandos bash para definir as propriedades para seu valor atual. Sem o -s , o comando fornecerá o que você precisaria para colocar no arquivo xorg.conf para definir as propriedades para seus valores atuais e, aparentemente, as ligações de botão não podem ser listadas com isso.

    
por 13.05.2017 / 23:43

Tags