Vscode: Disposición del teclado Neo: algunas teclas dejaron de funcionar

Creado en 6 abr. 2017  ·  28Comentarios  ·  Fuente: microsoft/vscode

  • Versión de VSCode: Código 1.11.0 (9122ec4b1068bd391e41974f46a4b54c1b9c90f9, 2017-04-05T21: 13: 24.700Z)
  • Versión del sistema operativo: Linux x64 4.4.0-72-generic

Pasos para reproducir:

  1. Instalar y activar la distribución del teclado Neo
  2. Abra cualquier archivo fuente en código VS
  3. Coloque el cursor en algún lugar del archivo
  4. Presione la tecla M4 y manténgala presionada. Presione la tecla s (ver imagen)
  5. En lugar de que el cursor se mueva hacia la izquierda, no pasa nada

En la versión anterior de VSCode (1.10.2 8076a19fdcab7e1fc1707952d652f0bb6c6db331) esto funcionó bien.

tastatur_e4b png

bug help wanted keyboard-layout linux

Comentario más útil

Necesito algo de tiempo para comprender esta distribución de teclado. Le enviaré un ping en los próximos días si tiene la amabilidad de ayudarme. No se parece a nada que haya visto.

Solución alternativa para cambiar el código VS para enviar de nuevo según el código clave. Agregue la siguiente configuración:
"keyboard.dispatch": "keyCode" y reiniciar VS Code

Todos 28 comentarios

El mismo problema para mí. Emitir palabras clave porque no encontré este problema al principio: capa 4 teclas de flecha diseño de teclado alemán neo2.

Funcionó bien en 1.10, no funciona en 1.11.

El editor de atajos en VSCode parece identificar la combinación resaltada en el teclado de arriba como [IntlBackslash] i

No está roto en Windows y VSCode 1.11.0.
Sin embargo, el mapeo de teclas se realiza mediante autohotkey, que intercepta las pulsaciones de teclas y emite las suyas propias; AFAIK, esto se maneja de manera diferente en Linux.

Acabo de ejecutar git bisect . La primera confirmación incorrecta parece ser https://github.com/Microsoft/vscode/commit/d10239639bf9beaa6ea34125319103de3dce43cd ( @alexandrudima )

# bad: [9122ec4b1068bd391e41974f46a4b54c1b9c90f9] Fix styling of release notes (fixes #23948)
# good: [8076a19fdcab7e1fc1707952d652f0bb6c6db331] debug: save all untitled non dirty files before debug start
git bisect start '1.11.0' '1.10.2'
# good: [40fecfaa77f01672e8a147be71f6f7ccb9cf8a12] fix mixin
git bisect good 40fecfaa77f01672e8a147be71f6f7ccb9cf8a12
# good: [9d2e0611f7f7750f02ec72c4d18a20b69c5bf8cf] #18095 :lipstick:
git bisect good 9d2e0611f7f7750f02ec72c4d18a20b69c5bf8cf
# bad: [7c223972367b8ade5362d738606f3b910d0fbb42] Fixes #19235: Wording in tasks warning message
git bisect bad 7c223972367b8ade5362d738606f3b910d0fbb42
# good: [378231183e815c8e8e6a73ad04fc40ec5058fdc5] Promise cancellation is slow. Use a timer instead since this may run many times.
git bisect good 378231183e815c8e8e6a73ad04fc40ec5058fdc5
# good: [f70b0b3ecb7f276c811b0f18c7a0bec3b03c11a6] Fixes #22069: Define extension story for tasks
git bisect good f70b0b3ecb7f276c811b0f18c7a0bec3b03c11a6
# bad: [4ad4bd0d8011a5db5e2bea4543b7efb03d482aad] :bug: add commit box message
git bisect bad 4ad4bd0d8011a5db5e2bea4543b7efb03d482aad
# bad: [9003dbc3f5f2b87cb3cc4a3418030dbdc45ac0a3] Add IKeybindingService.resolveUserBinding
git bisect bad 9003dbc3f5f2b87cb3cc4a3418030dbdc45ac0a3
# bad: [968da131589845b43c0d00141b41b2bb366a84e8] Improve the ScanCode -> KeyCode guessing strategy
git bisect bad 968da131589845b43c0d00141b41b2bb366a84e8
# bad: [969cbdfea05beda1a38d4082698b87f239fc2384] Renames
git bisect bad 969cbdfea05beda1a38d4082698b87f239fc2384
# bad: [8a33db65efdd3ed4c76d01cb76c3ef658caf16db] Add Inspect Key Mapppings action
git bisect bad 8a33db65efdd3ed4c76d01cb76c3ef658caf16db
# bad: [0ebecd5ca915ed33ea747cafe2c99572c52904b5] Merge branch 'master' into alex/keybinding
git bisect bad 0ebecd5ca915ed33ea747cafe2c99572c52904b5
# bad: [d10239639bf9beaa6ea34125319103de3dce43cd] First cut at integrating keyboard mappers
git bisect bad d10239639bf9beaa6ea34125319103de3dce43cd
# first bad commit: [d10239639bf9beaa6ea34125319103de3dce43cd] First cut at integrating keyboard mappers

Necesito algo de tiempo para comprender esta distribución de teclado. Le enviaré un ping en los próximos días si tiene la amabilidad de ayudarme. No se parece a nada que haya visto.

Solución alternativa para cambiar el código VS para enviar de nuevo según el código clave. Agregue la siguiente configuración:
"keyboard.dispatch": "keyCode" y reiniciar VS Code

Tengo el mismo problema en Debian / Jessie.

https://github.com/Microsoft/vscode/issues/25797

Tengo problemas con el retroceso.

Hola, tengo el mismo problema. Ayer, la solución me funcionó, pero hoy ya no funciona. Funciona durante unos 2 segundos después del inicio del editor, luego mis teclas básicas (letras) ya no funcionan. :pensando:
No estoy seguro si hice algo estúpido desde ayer, pero ¿tienes alguna idea de por qué podría ser esto?

@zommerfelds Lo primero que comprobaría son los settings.json . ¿Está el "keyboard.dispatch" duplicado allí, la configuración se sobrescribe con una configuración del espacio de trabajo al abrir una carpeta, etc.

Lo siguiente que debe observarse es abrir un editor y ejecutar F1 > Developer: Inspect key mappings . ¿Imprime "FallbackKeyboardMapper despachando en keyCode" (un indicador de que se aplicó la configuración)?

Si esto no es un problema con la configuración, es decir, la confirmación de que el envío se realizó en keyCode está allí, entonces trataría de investigar qué Electron / Chromium / el sistema operativo nos envía cuando presiona una tecla específica. : Coloque el cursor sobre el cuadro de entrada y tome una captura de pantalla:
keyboard-input

Hola @alexandrudima , gracias por la respuesta detallada.

cat ~/.config/Code/User/settings.json :

// Place your settings in this file to overwrite the default settings
{
    "keyboard.dispatch": "keyCode"
}

Si abro el editor y voy a _File => Preferences => Settings_, veo el mismo contenido para _USER SETTINGS_ que el anterior, y {} para _WORKSPACE SETTINGS_, por lo que debería estar bien.

_F1> Desarrollador: Inspeccionar asignaciones de claves_ me da:

Layout info:
{
    "model": "pc105",
    "layout": "de,ch",
    "variant": "neo,",
    "options": "grp:menu_toggle",
    "rules": "evdev"
}
FallbackKeyboardMapper dispatching on keyCode

Raw mapping:
...

Para las combinaciones de teclas obtengo:

Si quiero escribir "a":
image

Si quiero escribir "(":
image

Se imprimió bien en esa ventana emergente, pero no en el editor principal.

En Neo, A es donde la clave D estaría en QWERTY, y ( es CapsLock+J en QUERTY.
Puedo usar las teclas de flecha en la cuarta capa en Neo muy bien, pero no, por ejemplo, los dígitos. El retroceso funciona. Enter no funciona. Ctrl+Z funciona para deshacer (en Neo).

Además, como dije anteriormente, todo funciona durante los primeros segundos mientras se inicia Vscode, luego deja de funcionar.

Hágame saber si puedo ayudar de alguna otra manera. Sería increíble si pudiera comenzar a usar Vscode nuevamente :)

EDITAR: para aclarar, creo que podría no tener el mismo problema que el OP. Mis teclas de flechas en la cuarta capa funcionan, pero no las teclas de letras simples y simples.

EDIT2: _Help => Acerca de_:

Version 1.12.2
Commit 19222cdc84ce72202478ba1cec5cb557b71163de
Date 2017-05-10T13:16:25.899Z
Shell 1.6.6
Renderer 56.0.2924.87
Node 7.4.0

¡Gracias @alexandrudima ! Cambiar "keyboard.dispatch": "code" a "keyboard.dispatch": "keyCode" en File->Preferences->Settings me ayudó a hacer funcionar las teclas de capa m4 (tecla de escape, teclas de navegación, retroceso, borrar, números).

Todavía no me funciona en 1.19.0 .
También noté que la configuración keyboard.dispatch no hace ninguna diferencia. En cualquier configuración, las teclas de navegación y el retroceso, por ejemplo, funcionan, pero no los dígitos ni las letras normales.
¿Hay alguna forma de verificar que vscode en realidad lo está cargando como keyCode y no retrocede a code alguna manera?

¡De hecho, acabo de hacer que funcione! La extensión NeoX estaba arruinando mi configuración. Deshabilitarlo solucionó el problema. Ya no tengo idea de por qué instalé esta extensión ni para qué sirve. Todavía tengo que configurar keyboard.dispatch en keyCode para que funcione.
Lo siento y gracias por el apoyo. ¡Sí, puedo usar vscode ahora! :)

¿Supongo que entonces podemos cerrar este problema?

El problema sigue presente en el código VS actual:

  • Versión de VS Code: Código 1.20.0 (c63189deaa8e620f650cc28792b8f5f3363f2c5b, 2018-02-07T17: 10: 15.949Z)
  • Versión del sistema operativo: Linux x64 4.13.0-32-generic

También tuve problemas para usar Neo-Layout con VS Code 1.201 en Ubuntu 17.10 (Linux 4.13.0-36-generic). Sin el interruptor "keyboad.dispatch": keyCode - pude escribir con Neo2 pero ni siquiera podía usar CTRL + C y CTRL + V, ya que se mapearía de nuevo al diseño predeterminado (activando CTRL + R y CTRL + W, respectivamente ).

Bueno, acabo de probar "keyboard.dispatch" y me dice "ajuste de configuración desconocido". Pero mis problemas son un poco diferentes.

Las teclas de flecha funcionan bien, pero por ejemplo, la tecla de deshacer no funciona. Cuando presiono M4+z el código de estudio visual solo reconoce z . Y cuando quiero vincular algo a teclas como äöü, vscode traduce esas teclas si hubiera sido un teclado estadounidense. Entonces Ctrl+ü se reconoce como Ctrl+z . Esto es horrible.

Mapeo mi teclado con el programa XKB para usar el teclado dvorak modificado.

Yo uso la opción ralt_switch, que solía cambiar la tecla alt derecha para funcionar como tecla meta o modificador adicional.
Habilito la configuración de keyCode en VSCode Insider.
A continuación se muestra mi ejemplo de configuración de XKB

image

El RAlt (aka Meta key) + s reconocido por VS como End clave. + Bueno
pero cuando se suponía que debía hacer ctrl+End key con Ctrl+RAlt (Meta)+s , reconoció como Ctrl+s que guardará el documento. -Malo
Adivina qué pasó cuando intenté saltar algunas palabras presionando Ctrl+Right también conocido como Ctrl+RAlt (Meta)+n varias veces.

Supongo que el modificador Ctrl no funciona bien con un modificador adicional (o modificador keyCode-ed) como meta key o Mod4.
Incluso Ctrl+Shift+RAlt (Meta)+s ahorra.
Pero a Shift+Ralt (Meta)+s sí le gusta Shift+End que es +Good
¿Puedes hacer que ctrl se comporte como shift, en términos de combinación de modificadores?


Creo que es un tema relacionado, pero con un caso diferente.
_el título menciona el diseño neo, este es personalizado_

¿Esto está relacionado con este comentario resuelto?
usando keyboard.dispatch 'code', pero solo para OSX. Y lo intenté, no funcionó en Linux Mint / Ubuntu
https://github.com/Microsoft/vscode/issues/12393#issuecomment -288994081

Estoy en Linux.

Versión 1.21.1
Confirmar 79b44aa704ce542d8ca4a3cc44cfca566e7720f1
Datum 2018-03-14T14: 46: 30.761Z
Shell 1.7.9
Procesador 58.0.3029.110
Nodo 7.9.0
Architektur x64

Desafortunadamente, la solución keyboard.dispatch parece no funcionar para mí también, al menos no lo suficientemente buena. Puedo usar el CapsLock (Mod3) rediseñado para insertar símbolos de programadores como /,\,[,] y así sucesivamente dentro del editor, pero no en atajos como shift+/ que se traduce en presionar el botones físicos de shift+capslock+s

Intentar reasignar accesos directos con Mod3 muestra unknown

unknown_key

Parece que @sakasistem mencionó, parece haber problemas con una cierta secuencia de teclas modificadoras.

Los atajos como shift+/ son BS totales y no deberían existir.

Debe ser ? y dejar que el diseño decida qué modificadores se necesitan para escribir ese carácter, o un diseño independiente shift + scancode_slash . En la primera opción, simplemente escribiría? (no importa dónde coloque eso en mi diseño y qué modificadores necesito presionar), y en el segundo simplemente escribiría J mayúsculas en mi diseño, porque tengo una J en la posición del teclado donde El qwerty estadounidense tiene / .

Al igual que con krux02, tuve que escribir 'Ctrl + ü' y 'Ctrl + k' para deshacer y rehacer, respectivamente, pero pude encontrar la configuración apropiada de "keyboard.dispatch" y eso parece haber resuelto el problema.

SO: Ubuntu 18.04 LTS

VSCode:

Versión 1.23.1
Confirmar d0182c3417d225529c6d5ad24b7572815d0de9ac
Fecha 2018-05-10T16: 04: 33.747Z
Shell 1.7.12
Procesador 58.0.3029.110
Nodo 7.9.0
Arquitectura x64

Oh, estoy usando vscode insider solo para esperar a que se solucione este problema.
Como @sakasistem
Utilizo thinkpad con teclado qwerty físico, modifico mi mapa de teclas a dvorak personalizado con archivo xkb en linux mint sonya

Aquí está el archivo de mapa de teclas https://pastebin.com/cUAxDtAM
Es para el sistema operativo basado en Debian, Linux Mint para ser exactos.
Ponlo en /usr/share/X11/xkb/symbols/us justo antes de la definición de dvorak-intl
partial alphanumeric_keys xkb_symbols "dvorak-intl" {

Agrega magia de navegación al diseño de dvorak, se comportará up , left , down , right con RAlt+c,RAlt+h,RAlt+t,RAlt+n (debería ser i, j, k, l en qwerty en lugar de c, h, t, n ), realmente funciona en la mayoría de las aplicaciones con el modificador ctrl , shift y alt , pero vscode. Ctrl+RAlt+n debería saltar la siguiente palabra, pero en su lugar se comporta como Ctrl + ny abre una nueva pestaña.

El modificador Shift funciona, lo que hace que Shift+RAlt+s seleccione hasta el final de la línea, solo el modificador Ctrl que activa el acceso directo en primer lugar.

Bueno, aquí está el contenido de pastebin:

partial alphanumeric_keys
xkb_symbols "dvorak-shy" {

    name[Group1]= "English (Dvorak) by Shy";

    key <TLDE> { [       grave, asciitilde, dead_grave, dead_tilde  ] };

    key <AE01> { [      1,  exclam      ]   };
    key <AE02> { [      2,  at      ]   };
    key <AE03> { [      3,  numbersign  ]   };
    key <AE04> { [      4,  dollar      ]   };
    key <AE05> { [      5,  percent     ]   };
    key <AE06> { [      6,  asciicircum, dead_circumflex, dead_circumflex ] };
    key <AE07> { [      7,  ampersand   ]   };
    key <AE08> { [      8,  asterisk    ]   };
    key <AE09> { [      9,  parenleft,  dead_grave] };
    key <AE10> { [      0,  parenright  ]   };
    key <AE11> { [ bracketleft, braceleft   ]   };
    key <AE12> { [ bracketright, braceright,  dead_tilde] };

    key <AD01> { [  apostrophe, quotedbl, dead_acute, dead_diaeresis    ] };
    key <AD02> { [  comma,  less,   dead_cedilla, dead_caron    ] };
    key <AD03> { [      period, greater, dead_abovedot, periodcentered  ] };
    key <AD04> { [      p,  P       ]   };
    key <AD05> { [      y,  Y       ]   };
    key <AD06> { [      f,  F       ]   };
    key <AD07> { [      g,  G, Page_Up, Page_Up     ]   };
    key <AD08> { [      c,  C, Up, Up       ]   };
    key <AD09> { [      r,  R, dead_tilde, dead_tilde       ]   };
    key <AD10> { [      l,  L       ]   };
    key <AD11> { [  slash,  question    ]   };
    key <AD12> { [  equal,  plus        ]   };

    key <AC01> { [      a,  A       ]   };
    key <AC02> { [      o,  O       ]   };
    key <AC03> { [      e,  E       ]   };
    key <AC04> { [      u,  U       ]   };
    key <AC05> { [      i,  I       ]   };
    key <AC06> { [      d,  D, Home, Home       ]   };
    key <AC07> { [      h,  H, Left, Left       ]   };
    key <AC08> { [      t,  T, Down, Down       ]   };
    key <AC09> { [      n,  N, Right, Right     ]   };
    key <AC10> { [      s,  S, End, End     ]   };
    key <AC11> { [  minus,  underscore  ]   };

    key <AB01> { [   semicolon, colon, dead_ogonek, dead_doubleacute ] };
    key <AB02> { [      q,  Q       ]   };
    key <AB03> { [      j,  J       ]   };
    key <AB04> { [      k,  K       ]   };
    key <AB05> { [      x,  X       ]   };
    key <AB06> { [      b,  B       ]   };
    key <AB07> { [      m,  M, Page_Down, Page_Down     ]   };
    key <AB08> { [      w,  W       ]   };
    key <AB09> { [      v,  V       ]   };
    key <AB10> { [      z,  Z       ]   };

    key <BKSL> { [  backslash,  bar             ]       };


    key <CAPS> { [    BackSpace,    BackSpace,       BackSpace,        BackSpace ] };

    include "level3(ralt_switch)"
};

preste atención al código mágico include "level3(ralt_switch)" que hace que RAlt sea como mod3 pero hace que vscode lo reconozca como unknown .

Linux aquí, sin usar un diseño de teclado inusual, solo reasigné el bloqueo de mayúsculas al retroceso a través de XkbOptions , y eso tampoco funcionó. Cambiar a keyCode hizo funcionar. Supongo que esto afecta a cualquier tipo de mapeo de claves.

Para mí, los dos puntos : dejaron de funcionar espontáneamente en Visual Studio Code 1.32.3 en macOS 10.14.3. La combinación de teclas en Neo2 es caps lock + ; (en qwerty). Establecer keyboard.dispatch en keyCode ayudó.

Otro usuario de neo2 aquí;) Tropecé con el problema de retroceso que no funcionaba en los primeros minutos de usar VSCode. ¡Afortunadamente, la solución funciona a la perfección hasta ahora!
Sin embargo, sería genial si este error se corrigiera algún día;)

La solución alternativa de https://github.com/microsoft/vscode/issues/24043#issuecomment -292334048 funciona para la funcionalidad de retroceso (: +1:) pero moviendo una palabra hacia adelante / atrás y eliminando una palabra delante o detrás del cursor todavía no funciona: confuso:, es decir, Ctrl + Alt Gr + w (en diseño qwerty / teclas en el teclado) debería eliminar una palabra a la izquierda del cursor pero solo pega el portapapeles, que sería Ctrl + w (en diseño qwerty / teclas en el teclado) que es Ctrl + v .
Parece que la pulsación de la tecla Alt Gr simplemente se ignora cuando se pulsa la tecla Ctrl .

Estoy usando Arch Linux con las últimas actualizaciones.

¿Cómo puedo proporcionar más información para ayudar a resolver este problema?

Soy nuevo en VS Code y uso el diseño KOY (con algunas adaptaciones) en Linux ( setxkbmap de koy ). El mismo problema que con Neo2: puedo escribir un guión presionando CapsLock+L en el editor. Pero los atajos que contienen CapsLock no funcionan (como alejar con Ctrl+- = Ctrl-CapsLock-L ).

La página de problemas de combinaciones de teclas recomienda ejecutar F1 > Developer: Inspect key mappings si nada más ayuda.

Con el diseño estándar alemán ( setxkbmap de ), obtengo esto para la tecla L :

    "KeyL": {
        "value": "l",
        "withShift": "L",
        "withAltGr": "ł",
        "withShiftAltGr": "Ł"
    }

Con KOY ( setxkbmap de koy ), obtengo:

    "KeyL": {
        "value": "n",
        "withShift": "N",
        "withAltGr": "n",
        "withShiftAltGr": "N"
    },

Aparentemente, VS Code no logra los niveles más altos del diseño correctamente.

Alguna información técnica adicional sobre esta familia de distribución de teclado (neo, adnw, koy, bone):

En el diseño predeterminado alemán, AltGr se asigna a ISO_Level3_Shift (en Linux). En Neo2 (y similares), AltGr se asigna a ISO_Level5_Shift y CapsLock se asigna a ISO_Level3_Shift .

Entonces creo que deberíamos ver en la salida de > Developer: Inspect key mappings ya sea

    "KeyL": {
        "value": "n",
        "withShift": "N",
        "withAltGr": "-",

(porque CapsLock reemplaza AltGr en Neo2 en términos de ser la nueva clave ISO_Level3_Shift )

o

    "KeyL": {
        "value": "n",
        "withShift": "N",
        "withAltGr": "6",

(porque obtiene un "6" cuando presiona la tecla física AltGr más la tecla L como puede ver en la captura de pantalla de OP).

Espero que esto les ayude a los desarrolladores de VS Code a comprender mejor nuestro problema.

Soy consciente de que yo (y otros) estamos mezclando algunos problemas relacionados con Neo aquí. Pero pueden estar relacionados.

Probado en Ubuntu 18.04 con esta versión de VS Code / Codium:

Version: 1.44.0
Commit: 2aae1f26c72891c399f860409176fe435a154b13
Date: 2020-04-09T10:44:46.342Z
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 4.15.0-96-generic

Parece que la pulsación de la tecla Alt Gr simplemente se ignora cuando se pulsa la tecla Ctrl .

Estoy teniendo el mismo problema. Marcar letras individuales a través de Shift + RightArrow funciona cuando ingreso RightArrow través de AltGr + E , pero usando Ctrl + Shift + RightArrow con el Neo-layout envía Ctrl + Shift + E .
He usado la funcionalidad de grabación de claves y obtengo con el método de envío code :

  • Al presionar Shift + AltGr + E primero se mostraría shift + alt , luego se convierte en shift + right .
  • Al presionar Ctrl + Shift + AltGr + E primero se muestra ctrl + shift + alt , luego se convierte en ctrl + shift + e

y con el método keyCode :

  • Al presionar Shift + AltGr + E primero se mostraría shift + oem_8 , luego se convierte en shift + right .
  • Al presionar Ctrl + Shift + AltGr + E muestra ctrl + shift + oem_8 ctrl+shift+e

Lo mismo sucede cuando se usa Ctrl + AltGr +E que se convierte en ctrl + e lugar de ctrl + right .

Para este problema específico, ¿sería quizás una solución viable marcar una determinada clave como muerta? Los diseños como Neo no necesitan VSCode para escuchar AltGr en absoluto, solo debe procesar el código clave que se envía cuando se presiona en combinación. Además, cuando esa capa está "bloqueada" usando ambas teclas Mod4, presionar Ctrl + Shift + e se reconoce correctamente como ctrl + shift + right .

Mi información de diseño:

"layout": {
        "model": "pc105",
        "layout": "de,de,gb",
        "variant": "neo,,",
        "options": "grp_led:scroll,altwin:alt_super_win",
        "rules": "evdev"
    }

Tuve el mismo problema que se describe aquí varias veces, donde mantener control o teclas similares inutiliza ciertas teclas en el nivel 4 del diseño neo y ejecuta accesos directos no deseados.

Mi solución / solución alternativa

Lo que me ha funcionado en Ubuntu 18.04 y solucionó todos estos problemas es ejecutar setxkbmap -layout de -variant neo después del inicio y cada activación. Parece funcionar con cualquier configuración para keyboard.dispatch ( keyCode o code ).

Puesta en marcha

En "Startup Application Preferences"->Add ingrese setxkbmap -layout de -variant neo así y ahorreScreenshot

Despierta

Con sudoedit /lib/systemd/system-sleep/setxkbmap agregar

#!/bin/bash
case $1 in
  post)
    DISPLAY=:1 ; export DISPLAY
    su $USER -c "sleep 1; setxkbmap -layout de -variant neo"
  ;;
esac

y otorgue permisos ejecutables con sudo chmod 755 /lib/systemd/system-sleep/setxkbmap .

  • En lugar de $USER agregue su usuario.
  • En cualquier otro lugar he encontrado DISPLAY=:0 sugeridos, pero eso no funcionó para mí. Luego probé el valor que obtuve de echo $DISPLAY ( :1 ), que funcionó.
  • Si no funciona, intente con un retraso mayor (por ejemplo, en lugar de sleep 1; , use sleep 3; )

¡Espero que esto ayude a otros!

¿Fue útil esta página
0 / 5 - 0 calificaciones