AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-661844

wischi's questions

Martin Hope
wischi
Asked: 2025-02-21 00:00:08 +0800 CST

Modificador fixo no layout do teclado de-e1 no Wayland

  • 5

(Ubuntu 24.04.2 LTS, 64 bits, Gnome 46, Wayland, Linux 6.8.0-53-genérico)

Recentemente, mudei para um novo layout de teclado, chamado de-e1 ("E1" é um superconjunto do layout típico de teclado alemão (de)) e se parece com isto:

Layout da variante de teclado alemão E1 Detalhes sobre o layout na Wikipedia (alemão, nenhum artigo em inglês ainda, não é necessário para minha pergunta - espero): https://de.wikipedia.org/wiki/E1_(Tastaturbelegung)

Como funciona o layout

Os símbolos no canto inferior direito podem ser escritos com AltGra tecla + (por exemplo AltGr+ gpara o S maiúsculo alemão sustenido "ẞ"). Os símbolos no canto superior direito podem ser alcançados primeiro alternando para o modo Ex ("Extra-Wahltaste").

Ex-Mode: AltGr + f(e solte novamente)

Este modo deve esperar/ficar exatamente um pressionamento de tecla seguinte (próximo). Este Ex-modo é novamente dividido em "minúsculas" e "maiúsculas". Por exemplo, dê uma olhada na Rtecla. Eu troco para o Ex-Mode e então pressiono rpara obter ™ou R(usando shift) para obter ®.

Edição nº 1: Modo Sticky Ex

No Wayland, se eu quiser escrever, əxampleeu mudo para o modo Ex e pressiono a tecla e para obter, əmas quando continuo escrevendo o resto da palavra, eu obtenho ə„ample. O modo Ex no Wayland sempre parece travar por dois toques de tecla (corretamente para ee incorretamente também para x), o que é um pouco irritante porque eu tenho que pressionar backspace e digitar novamente.

Isso não acontece para aplicativos que passam pelo XWayland (por exemplo, vscode ou opera, que estão listados em xlsclients). Lá, o Ex-Mode é (corretamente) aplicado apenas para o próximo pressionamento de tecla e não para dois.

Também verifiquei wayland events ( wev) que fornece a seguinte saída para meu exemplo anterior:

[14:     wl_keyboard] key: serial: 28470; time: 169408635; key: 108; state: 1 (pressed)
                      sym: ISO_Level3_Shift (65027), utf8: ''

[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000080: Mod5 
                      latched: 00000000
                      locked: 00000000

[14:     wl_keyboard] key: serial: 28472; time: 169408793; key: 41; state: 1 (pressed)
                      sym: ISO_Level5_Latch (65042), utf8: ''

[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 000000A0: Mod3 Mod5 
                      latched: 00000000
                      locked: 00000000

[14:     wl_keyboard] key: serial: 28474; time: 169408872; key: 41; state: 0 (released)
                      sym: NoSymbol     (0), utf8: ''

[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000080: Mod5 
                      latched: 00000020: Mod3 
                      locked: 00000000

[14:     wl_keyboard] key: serial: 28476; time: 169408928; key: 108; state: 0 (released)
                      sym: ISO_Level3_Shift (65027), utf8: ''

[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000000
                      latched: 00000020: Mod3 
                      locked: 00000000

[14:     wl_keyboard] key: serial: 28478; time: 169409344; key: 26; state: 1 (pressed)
                      sym: schwa        (16777817), utf8: 'ə'

[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000000
                      latched: 00000000
                      locked: 00000000

[14:     wl_keyboard] key: serial: 28480; time: 169409468; key: 26; state: 0 (released)
                      sym: e            (101), utf8: ''

[14:     wl_keyboard] key: serial: 28481; time: 169409816; key: 53; state: 1 (pressed)
                      sym: x            (120), utf8: 'x'
[14:     wl_keyboard] key: serial: 28482; time: 169409917; key: 53; state: 0 (released)
                      sym: x            (120), utf8: ''

[14:     wl_keyboard] key: serial: 28483; time: 169410300; key: 38; state: 1 (pressed)
                      sym: a            (97), utf8: 'a'
[14:     wl_keyboard] key: serial: 28484; time: 169410390; key: 38; state: 0 (released)
                      sym: a            (97), utf8: ''

[14:     wl_keyboard] key: serial: 28485; time: 169410772; key: 58; state: 1 (pressed)
                      sym: m            (109), utf8: 'm'
[14:     wl_keyboard] key: serial: 28486; time: 169410863; key: 58; state: 0 (released)
                      sym: m            (109), utf8: ''

[14:     wl_keyboard] key: serial: 28487; time: 169411200; key: 33; state: 1 (pressed)
                      sym: p            (112), utf8: 'p'
[14:     wl_keyboard] key: serial: 28488; time: 169411290; key: 33; state: 0 (released)
                      sym: p            (112), utf8: ''

[14:     wl_keyboard] key: serial: 28489; time: 169411560; key: 46; state: 1 (pressed)
                      sym: l            (108), utf8: 'l'
[14:     wl_keyboard] key: serial: 28490; time: 169411650; key: 46; state: 0 (released)
                      sym: l            (108), utf8: ''

[14:     wl_keyboard] key: serial: 28491; time: 169411954; key: 26; state: 1 (pressed)
                      sym: e            (101), utf8: 'e'
[14:     wl_keyboard] key: serial: 28492; time: 169412066; key: 26; state: 0 (released)
                      sym: e            (101), utf8: ''

O que realmente me surpreendeu um pouco porque esses eventos parecem estar corretos (mostra xem vez de „).

Problema nº 2: O símbolo por mil (‰) não está funcionando

O segundo problema não parece ser específico do Wayland porque também acontece com o XWayland.

Na 5chave há o sinal de per mille no canto superior direito, então ele deve ser acessível com o Ex-mode e, 5mas isso literalmente imprime o dígito cinco. Eu verifiquei a configuração local do xkb que corresponde exatamente à versão mais recente no gitlab: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/blob/master/symbols/de#L106

Está definido lá e certamente parece correto ou pelo menos plausível. Não consigo encontrar uma configuração onde permilleé definido em xkb. Talvez todos esses símbolos sejam codificados? Este permillesímbolo também é usado em muitos outros layouts xkb, então acho que provavelmente é um símbolo suportado e deve funcionar.

Talvez outra coisa manipule/capture essa combinação de teclas em particular? Porque GERMAN PENNY SIGNcom EX-mode e Shift+ 5→  ₰funciona perfeitamente.

Como ajudar

Eu apreciaria muito todas as dicas e ideias sobre coisas que eu poderia tentar para encontrar o problema. Seria realmente incrível se alguns de vocês pudessem mudar temporariamente para o layout de teclado alemão de-e1, especialmente no Wayland (não precisa ser o Ubuntu) e me avisar se vocês podem reproduzir esses problemas, para me ajudar a descobrir se isso é algo que está quebrado na minha máquina, ou um bug no Wayland ou na configuração do layout xkb ou o que for.

Obrigado por reservar um tempo para ler essa longa pergunta e agradeço desde já pela sua ajuda.

keyboard
  • 1 respostas
  • 38 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve