Xorg: vários teclados, uma configuração

4

No meu laptop, eu ajustei algumas atalhos de teclado e preferências de teclado com xmodmap e xset . Quando eu conecto um teclado USB externo, configuração para esse novo teclado é o padrão, ou seja, sem meus ajustes. Se eu xmodmap e xset novamente, essas preferências serão aplicadas ao teclado recentemente plugado também, mas ao conectar / desconectar, eles são novamente para o padrão. Note que a conexão / desconexão nunca afeta o configuração do teclado do laptop, que fica ligado durante todo o processo.

Pergunta: Como posso ter um conjunto de preferências xmodmap e xset, que se aplica a qualquer teclado (conectado agora e no futuro).

Configuração : Arch Linux no kernel 3.1.1, Xorg 1.11.2 sem configuração caseira, janela manager: awesome 3.4.11, não kde ou gnome stuff

Obrigado!

    
por Michaël 13.01.2012 / 20:51

3 respostas

1

@Patkos Csaba: Mudou: agora o padrão é que você não precisa configurar nada e funciona automaticamente. De certa forma, adicionar o setxkbmap ao .xinitrc ficou muito mais fácil do que mudar a configuração do servidor.

Hoje em dia você pode conectar um teclado ou mouse USB e fazer com que o X11 o adicione e reconheça, sem precisar depender de / dev / mice ou algo assim.

Agora eu experimentei o problema e, IMHO, a solução perfeita seria uma forma de dizer ao Xorg para herdar as novas configurações de teclado do teclado atualmente conectado ou dizer ao setxkbmap para definir as opções como o padrão do servidor para o atual < em> e futuros teclados.

Até agora, não encontrei nenhuma maneira de fazer isso. A única maneira de evitar a execução de setxkbmap / xmodmap novamente é editar as configurações padrão utilizadas pelo hald ao configurar novos dispositivos, consulte a documentação do freebsd , §6.4.2 (alguns parágrafos abaixo do cabeçalho da seção, tem dois exemplos de configuração de padrões de teclado). Veja também "opção 2" no tutorial de Klaas Teschauer sobre a migração de mídia . Há também uma pergunta no Stackoverflow com links sobre o acionamento de um script em adições de hardware , se você preferir faça assim.

    
por 29.01.2012 / 01:56
1

Consegui resolver esse problema usando arquivos de configuração do Xorg gerados com localectl . Eu uso um layout dvorak / qwerty com capslock como um extra chave de controle. Eu já tinha isso no meu .xinitrc:

setxkbmap -layout us,us -variant dvorak, \
-option 'grp:alt_space_toggle' \
-option 'grp_led:caps' \
-option 'ctrl:nocaps'

Para obter a configuração equivalente em um arquivo de configuração do Xorg, usei

sudo localectl set-x11-keymap us,us "" dvorak, 'grp:alt_space_toggle,grp_led:caps,ctrl:nocaps'

que é armazenado no arquivo /etc/X11/xorg.conf.d/00-keyboard.conf .

Na página de configuração do teclado da Archwiki :

For convenience, the tool localectl may be used instead of manually editing X configuration files. It will save the configuration in /etc/X11/xorg.conf.d/00-keyboard.conf, this file should not be manually edited, because localectl will overwrite the changes on next start.

The usage is as follows:

  $ localectl set-x11-keymap layout [model] [variant] [options]
    
por 28.08.2014 / 05:59
0

Eu nunca usei, mas 'usbd' parece ser o que você está procurando. De acordo com sua documentação, ele assiste a portas usb e executa comandos do usuário em mudanças específicas.

Aqui está a página do manual .

    
por 14.01.2012 / 16:16