Estou tentando criar um mapeamento de teclado para inserir um caractere unicode pelo teclado. Parece que o xmodmap é talvez a melhor opção, mas não consigo descobrir como obter um personagem de terceiro nível.
Eu tenho meu seletor de terceiro nível mapeado para a tecla Right-Win, e isso funciona para personagens como o EuroSign. Eu usei essa chave como meu padrão. xmodmap -pk
mostra isso para o EuroSign
26 0x0065 (e) 0x0045 (E) 0x0065 (e) 0x0045 (E) 0x20ac (EuroSign) 0x0000 (NoSymbol) 0x20ac (EuroSign) 0x20ac (EuroSign)
Então eu configurei minha linha de vírgula para tentar combinar isso
keycode 59 = comma less comma semicolon UFF62 UFF62 UFF62 UFF62
Mas isso não funciona, apesar de xmodmap -pk
relatar uma saída semelhante à do EuroSign
59 0x002c (comma) 0x003c (less) 0x002c (comma) 0x003b (semicolon) 0x100ff62 (UFF62) 0x100ff62 (UFF62) 0x100ff62 (UFF62) 0x100ff62 (UFF62)
Observe que, se eu colocar UFF62
como a primeira entrada, posso substituir com êxito a vírgula. Isso confirma pelo menos que eu modifiquei o arquivo correto e o personagem é válido.
Como faço para que meu caractere Unicode seja atribuído ao terceiro nível?
ATUALIZAÇÃO: Isso parece não funcionar apenas se eu tiver o layout de teclado genérico dos EUA. Quando mudo para o layout alemão, as teclas mapeadas funcionam. Existe algo que eu tenho que fazer para habilitar o terceiro nível no layout do teclado?
Note que meu caso de uso é apenas obter uma chave mapeada para um caractere. Eu também tentei xbindkeys com xvkbd, mas não consegui inserir corretamente caracteres unicode. Eu também tentei xdotool, mas também parecia ter problemas com caracteres unicode.