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 / unix / Perguntas / 546630
Accepted
turbonerd
turbonerd
Asked: 2019-10-14 11:22:05 +0800 CST2019-10-14 11:22:05 +0800 CST 2019-10-14 11:22:05 +0800 CST

Mapeamento do teclado

  • 772

Tentei algumas respostas diferentes daqui e de outros sites, mas não consigo fazer o mapeamento do teclado do meu laptop corretamente no Debian.

Meu teclado é um layout um pouco anormal.

É qwerty e Reino Unido.

Imediatamente à direita da minha spacebarra, antes Alt Grde , tenho a chave |e \. Quando pressiono esta tecla, recebo <e >(shift) respectivamente.

Acima da minha enterchave, tenho ~e #. Atualmente, quando pressiono isso, recebo \e |(shift) respectivamente.

Estou acostumado a ter o sinal GBP no shift+3, mas em vez disso tenho #. O mesmo se aplica a "estar no turno + 2, em vez de ter @.

Aqui está o teclado:

teclado cevos p150sm

Eu suspeito que vou precisar de um mapeamento de teclas ligeiramente manual para isso - ou pelo menos um mapeamento de teclas padrão com algumas pequenas alterações. Por onde eu começo?

Eu tentei o seguinte, com diferentes opções, sem sucesso. Eu não consigo mudar as chaves... de jeito nenhum, muito menos para as opções erradas/certas.

for i in 'console-data' 'console-setup' 'console-locales' 'keyboard-configuration'; do sudo apt-get install $i; done

for i in 'console-data' 'console-setup' 'keyboard-configuration'; do sudo dpkg-reconfigure $i; done

Informação do sistema:

$ cat /etc/os-release                     
PRETTY_NAME="Debian GNU/Linux bullseye/sid"
NAME="Debian GNU/Linux"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Eu também estou usando i3wm.

Desde já, obrigado.

--- EDITAR

$ cat /etc/default/keyboard 
# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="gb"
XKBVARIANT=""
XKBOPTIONS="lv3:ralt_switch,compose:rctrl"

BACKSPACE="guess"

-----

$ sudo dpkg-reconfigure keyboard-configuration
Options chosen:
 - Generic 105-key PC (intl.)
 - English (UK)
 - Default
 - No compose key
 - No Ctrl+Alt+Backspace
debian
  • 3 3 respostas
  • 1689 Views

3 respostas

  • Voted
  1. Best Answer
    turbonerd
    2019-10-18T06:33:21+08:002019-10-18T06:33:21+08:00

    A resposta do @rastafile me enviou no caminho certo para encontrar a solução para isso.

    https://medium.com/@damko/a-simple-humble-but-comprehensive-guide-to-xkb-for-linux-6f1ad5e13450

    O excelente guia acima me deu a solução.

    setxkbmap -layout gbsem nenhuma entrada adicional, mapeou todas as minhas chaves corretamente - exatamente como elas aparecem no laptop.

    • 4
  2. user373503
    2019-10-18T08:45:43+08:002019-10-18T08:45:43+08:00

    Então eu encerro o Q, minha própria resposta e a resposta aceita do dunc:

    setxkbmap - set the keyboard using the X Keyboard Extension

    É a solução (por uma vez) fácil. Sem ironia - o link de dunk também não é uma linha para ler.

    setxkbmap [layout [variant [option]]]
    

    ...é a sinopse, bem organizada. Juntamente com a solução:

    setxkbmap -layout gb

    ...você pode ver como o XKB é construído. Se o layout correto não funcionar, uma variante padrão pode ajudar ou algum outro arquivo XKB pré-compilado:

    extd            gb: English (UK, extended, with Win keys)
    intl            gb: English (UK, intl., with dead keys)
    dvorak          gb: English (UK, Dvorak)
    

    Com udevvocê, conecte seus teclados USB; com o XKB você obtém uma biblioteca de layouts e variantes para combinar e muito mais.

    setxkbmapé o pingente exato para loadkeyso linux vc (não-X). Depois de ter um mapa de teclado, você só precisa carregá-lo. Ou melhor: você pode mudar o layout a qualquer momento, não apenas uma vez na inicialização ou no login. O XKB, como apontei na minha primeira resposta, pode transformar seu teclado físico com teclas rotuladas e scancodes em algo completamente diferente. É quase uma linguagem de programação.

    O kernel Linux (drivers) usa a mesma ideia de tradução, mas de forma simplificada.

    Na situação do OQ, a configuração automatizada (?) não funcionou, embora XKBLAYOUT="gb"esteja anotada em um arquivo.

    Systemd tem localectlcomo "frontend" e para unir o console e o servidor x. Veja a página man!

    • 1
  3. user373503
    2019-10-18T03:53:26+08:002019-10-18T03:53:26+08:00

    Você tem uma variável XKBVARIANT vazia, correspondendo a uma opção xorg padrão. Ambos mostram bem em seu Q.

    Para teclados do Reino Unido, pode haver mais de uma variante, e isso PODE até consertar suas teclas. Depende de quão exótico é o seu laptop. A julgar por essa chave extra, temo que seja exótico.

    Mas o subsistema XKB (de um servidor X, e isso inclui também wayland) também é o remédio. É uma das coisas que tornam a vida difícil em X (através da complexidade). É difícil encontrar documentos. O Systemd tem uma interface básica com ele, porque o layout do teclado tem a ver com as configurações de LANGUAGE. E quando você pensa em Quebec, Moscou ou Londres, você vê que muitos usuários em qualquer plataforma realmente precisam mudar drasticamente o layout do teclado. Um usuário de Londres pode preferir um teclado americano para scripts, mas ainda adicionar uma "libra" ou "euro" a esse layout.

    O que me leva a "ajustar" o layout com xmodmap. Ou despejando sua configuração XKB, ajustando-a e recarregando-a. A partir da segunda vez, basta carregar o arquivo editado com um script. Eu esqueço os nomes das ferramentas XKB. Algo começando com um X ;)

    Você também encontrará partes de tudo isso na ajuda da sua distro.

    Seu caso é simples, espero, porque você só precisa trocar algumas chaves.

    E tenha em mente que neste caso (interpretação do scancode), X e linux são mundos separados.

    • 0

relate perguntas

  • Configuração do GRUB para reconhecer diferentes ambientes de desktop (instalações) da mesma distribuição Linux

  • astyle não altera a formatação do arquivo de origem

  • Recebendo e-mail em um novo Debian fresco

  • Debian Stretch: gnome-software segfault em libgs_plugin_systemd-updates.so

  • Como digitar ü no Pinyin IME?

Sidebar

Stats

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

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

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