Emulación de teclado numérico

13

Mi nueva computadora portátil (Dell Inspiron 5578 ) no tiene teclado numérico . Muchas computadoras portátiles sin teclas numéricas dedicadas tienen acceso numérico Fn, pero no esta. Cuando corro xeve intento usar Fncombos tradicionales (por ejemplo, Fn+ Jpara 1), no ve ningún evento. Y los números ni siquiera están en las etiquetas.

AFAIU, no puedo crear ningún acceso directo con la Fnclave, porque Fnno se pasa al sistema operativo. Pero teóricamente podría usar Alt_L+ en su Super_Llugar. La pregunta es cómo hacerlo correctamente. Prefiero hacerlo en un nivel más bajo que el diseño del teclado para funcionar bien con todas las máquinas virtuales, incluso con las que no son Linux.

Entorno: Qubes OS . La parte del host se basa en Fedora.

He intentado:

  • Enlace un comando xdotool a través del atajo de teclado Xfce. Esto produce varios resultados extraños: el comando (tecla xdotool KP_1 y variaciones) generalmente funciona bien, pero no cuando se invoca mediante un acceso directo. Cuando se invoca por acceso directo, el problema probablemente sea que las teclas modificadoras se presionan en ese momento. He intentado varias modificaciones ( --clearmodifierskeyup para modificadores, etc.), ninguna de ellas funciona bien.
  • Haz lo mismo con autokey. Tengo algunas heladas de autokey.

No soluciones:

  • Usar teclado numérico / teclado externo: aunque tengo un teclado numérico (más o menos) en mi teclado externo, me gustaría tener uno incluso en el interno, por ejemplo, cuando viajo y es imposible o al menos incómodo usar el teclado externo .
  • Usar fila de números: en el diseño checo, la fila de números se usa principalmente para letras acentuadas. El diseño que uso ( variante extracs de CShack ) no tiene números en la "fila de números" en absoluto.
  • Compre una computadora portátil diferente: fue difícil encontrar una computadora portátil que satisfaga mis diversos requisitos.
v6ak
fuente
1
Lea sobre xkb , agregue un nivel personalizado Alt-L + Super-L. También ejecute evtestpara buscar un evento Fn, y si eso tampoco funciona, mire el descriptor HID y el evento HID sin procesar. Consulte dmesgpara encontrar dispositivos ocultos asociados.
dirkt
@dirkt Usar XKB parece definir un keylayout personalizado. Lo que es mejor que nada, pero no es una solución preferida, ya que tendría que hacer lo mismo para cada VM (o VM tempolates) y esto no va a funcionar en máquinas virtuales que no sean Linux. Intentaré evtest, pero no estoy seguro de si funcionará con el teclado que se está utilizando.
v6ak
¿Estás conectado a Alt_L + Super_L? Puede usar AltGr o Shift + AltGr conxmodmap(1)
Fox
Si su VM (¿cuál?) No transmite eventos X, pero insiste en el paso directo del teclado, probablemente pueda falsificar un teclado haciendo su propia /dev/input/eventXfuente o HID. Esto requerirá programación. Pero si funciona con xdotool, debería funcionar con xkbo xmodmap. Y sí, asignar una sola tecla a Mode_Switch o ISO_Level3_Shift (AltGr por defecto) será más fácil.
dirkt
1
El problema con AltGr o AltGr + Shift es que ya está en uso. No insisto en Alt_L + Super_L, pero parece ser la mejor opción: están uno al lado del otro en el teclado interno y hay una pequeña posibilidad de ocultar algunos atajos de teclado. Y se pueden presionar con la mano izquierda. Por lo tanto, parece que una combinación ideal,
v6ak

Respuestas:

0

Creo que la forma correcta de hacerlo aquí es crear su propia distribución de teclado. De hecho, tendrá que hacerlo para cada VM y cada sistema operativo, pero solo tendrá que implementarlo en sus VM de plantilla.

En realidad, hacerlos no es tan difícil, dependiendo de su punto de vista, incluso sorprendentemente fácil. Para Linux estás en el camino correcto. Para las ventanas solo usa autohotkey .

(O simplemente abandone su diseño actual y pruebe neo2 . Está optimizado para alemán, pero el diseño en general es excelente y obtiene soporte inmediato en Linux y una implementación bastante buena de autohotkey en Windows. Lo he estado usando durante años. El mayor inconveniente es que el diseño es tan exótico que a menudo tienes que personalizar los accesos directos en los programas para que se puedan volver a usar, por ejemplo, hjkl en vim está totalmente jodido).

Franklin
fuente
He hecho un diseño personalizado, pero aún es bastante imperfecto. Sería imperfecto incluso si tuviera una versión de Windows. La instalación de templateVMs no es un problema, pero otras máquinas son complicadas. Primero, RDP no respeta la distribución de mi teclado local. En segundo lugar, es una sobrecarga para varias máquinas virtuales de Windows de corta duración (por ejemplo, IE VMS).
v6ak
@ v6ak Las máquinas virtuales de corta duración deben heredar la configuración de la plantilla para que no sea un problema.
Franklin
Eso es cierto para las máquinas virtuales basadas en plantillas, pero no para las máquinas virtuales que acaba de descargar. Y tampoco para máquinas virtuales remotas que no son administradas por usted. Estoy relativamente de acuerdo con el diseño estándar de EE. UU. (Cuando no necesito diacríticos, es en su mayoría compatible con CShack), pero usar la fila de números no es muy natural para mí.
v6ak