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.