Definir taxa de pressionamento de tecla diferente para teclas individuais?


8

Eu gostaria de uma taxa de repetição especialmente alta e um atraso baixo na minha tecla backspace, mas um atraso e taxa regulares em todas as outras teclas. Este comando funciona, mas o define para cada chave:

xset r rate 120 30

Existe uma maneira de ter configurações diferentes para chaves individuais?


xset r 22 r rate 120 30deve fazer o que você está procurando, mas no meu laptop não funciona. O código-chave do backspace é 22.
— turbo

Esse comando parece ativar a tecla backspace e, em seguida, defina todas as chaves para ter uma determinada taxa. Ele (e o similar 'xset -r 22 r 120 30') não definiu apenas a tecla backspace para ter essa taxa.
— Michael Burge

Respostas:


6

Eu acho que a resposta para sua pergunta é não, não há como conseguir isso modificando as fontes do X.org.

Aqui está uma explicação por xsetque não vai funcionar; Estou criando uma resposta porque corresponde aos comentários encontrados no OP e na resposta acima.

xset rtem várias maneiras alternativas de ser chamado. Mutuamente exclusivo, ou seja:

xset r 22

..vá ativar a repetição do código de tecla 22 (backspace), enquanto xset -r 22o desativará.

Como alternativa, é possível especificar taxas de teclado, mas apenas para todas as teclas:

xset r rate [num1 [num2]]

Você não pode combinar os dois.

Quanto ao 08 / 22 a confusão: 08 é o ASCII código para o ASCII caracteres backspace, e 22 é o X windows código de acesso para o físico específico chave .

Infelizmente, as duas configurações (taxa / atraso e repetição por tecla ativada) são tratadas por duas extensões X diferentes:

  • "rate / delay" é tratado pela extensão XF86Misc. xsetaltera a taxa / atraso usando função XF86MiscGetKbdSettings( display, values ). A valuesestrutura XF86MiscKbdSettings contém apenas campos para taxa de repetição e atraso (e dois outros sem importância aqui), e não há como aplicá-lo, mas geral.
  • o "por chave liga-desliga" é controlado pela extensão XKB. A extensão XKB permite controlar as chaves selecionadas, mas a estrutura que contém informações sobre essas chaves contém apenas um campo que pode assumir um dos três valores: padrão, sem repetição, repetição.

Em resumo, isso parece impossível de ser alcançado na configuração atual do X.org.


Obrigado por esta resposta. Provavelmente vou desativar a repetição de todas as chaves e ativá-lo seletivamente para as teclas de retrocesso / seta.
— Michael Burge

0

Tentar:

xset r 8 rate 120 30

A página de xsetmanual em www.x.org fornece alguma ajuda sobre o comando. Também encontrei Teclas do teclado e Valores do código da chave , que estão no site da Adobe, mas acho que os códigos das teclas devem estar corretos.


em todos os lugares que eu olhei diz que o código de acesso para backspace é8
— Malaquias

Se você entrar xevna backspace imprensa terminal e, em seguida, ele vai dizer que o código de acesso é 22.

alguns dos sites que eu analisei não fornecem a chave atribuída a 22 e outros dizem que 22 é a Page Downchave. infelizmente não estou perto da minha caixa do Linux para poder testar isso.
— Malachi

Você pode usar xevpara descobrir quais são os códigos de chave em seu próprio sistema; pressione uma tecla do teclado e ele fornecerá o código da tecla.

Estou no Windows agora
— Malachi
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.