Onde a taxa de repetição padrão para xset é armazenada?

1

Se eu definir a taxa de repetição do teclado com xset r rate 250 100 , desconectar meu teclado usb e executar xset -q , posso ver que depois de desconectar a taxa de repetição do teclado é automaticamente definida com os seguintes valores padrão:

$ xset -q | grep delay
  auto repeat delay:  660    repeat rate:  25

Posso alterar os valores padrão? Onde eles estão armazenados? Estou executando o Debian Sid.

    
por jojman 03.12.2017 / 01:38

2 respostas

1

Você pode alterar os chamados seat-defaults em /etc/X11/xinit/xserverrc adicionando os parâmetros relevantes (cf. XSERVER(1) ).

-ardelay milliseconds
   sets the autorepeat delay (length of time in milliseconds that a key must be depressed before autorepeat starts).

-arinterval milliseconds
   sets the autorepeat interval (length of time in milliseconds that should elapse between autorepeat-generated keystrokes).

(!) Para descobrir a arinterval em ms da frequência de repetição xset , compute 1000/freq .

O meu agora diz exec /usr/bin/X -nolisten tcp -ardelay 200 -arinterval 20 "$@"

[encontrado em link

(Eu costumava tentar tornar a taxa de repetição permanente, definindo Option "AutoRepeat" "190 70" /etc/X11/xorg.conf.d/keyboard.conf , mas isso não funcionaria, então eu (impotente) recorri à execução de um trabalho por minuto de xset cron XD)

    
por 06.08.2018 / 05:42
0

Quando alteramos as configurações em um prompt bash, as novas configurações parecem ser armazenadas apenas na memória do X Server em execução.

Para tornar as alterações persistentes, você pode ter a chance de remover o comentário das linhas "KEYBOARD_RATE" e "KEYBOARD_DELAY" em /etc/kbd/config se o sistema tiver esse arquivo.

Caso contrário (para o Ubuntu, de qualquer forma), tendem a existir várias abordagens específicas de distribuição, veja: link

Eis por que estou supondo que os valores configurados via xset só vivam na memória no X Server:

Quando executo o comando em strace , assim:

strace xset r rate 175 37

Parece (com base na minha experiência limitada com strace ) que as configurações são gravadas em um soquete e na minha máquina o soquete é:

/tmp/.X11-unix/X0

Para ver o que está no outro lado desse soquete:

sudo lsof +d /tmp/.X11-unix

... o que gera:

COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF   NODE NAME
Xorg    1635 root    3u  unix 0xffff88046ae4bc00      0t0  24945 /tmp/.X11-unix/X0 type=STREAM

... o que mostra que o processo de ouvir o socket é Xorg (também conhecido como o X Server). É claro que o servidor X poderia então hipoteticamente persistir os valores para a memória não volátil em algum lugar, mas com base em várias anedotas dos usuários, parece que não é o caso.

    
por 05.07.2018 / 22:40