Como obtenho uma lista de chaves atualmente carregadas com o XKB?

3

Estou escrevendo um daemon evdev -reliant que precisa saber o layout completo do teclado atualmente em uso. Obter as propriedades do layout atual do XKB é fácil. Você usa apenas setxkbmap -query ou setxkbmap -print . Mas e se eu quiser uma descrição completa do layout atualmente carregado? Uma lista do que cada chave digita em quais modificadores?

Há duas maneiras de obter isso que eu conheço sem depender de nada além do XKB:

  1. A maneira formal e complicada de usar setxkbmap -print para descobrir quais arquivos de símbolos são carregados a partir de /usr/share/X11/xkb/symbols e analisar os arquivos relevantes você mesmo.
  2. O caminho mais rápido, sujo e ad-hoc, simplesmente testando todas as combinações de teclas e capturando a saída.

A opção 1 é propensa a erros e é difícil de implementar, e a Opção 2 é difícil de gerenciar. Existe uma maneira de obter uma lista de combos principais versus saídas de caracteres? O XKB já analisou os arquivos de símbolos para mim, então deve haver algo do outro lado que produza o resultado da análise (além do próprio teclado).

EDIT: Onboard do Ubuntu aparece para analisar diretamente o arquivo de layout, por um. Isso indica que não existe uma solução pura e preexistente.

    
por mszegedy 03.12.2015 / 00:13

0 respostas

Tags