Emulación de códigos Alt ASCII en Linux

2

Tengo un Alphasmart Neo, que emula un teclado cuando está conectado a una computadora para enviar archivos de texto. Básicamente funciona como un mecanógrafo muy rápido. Cuando golpea un carácter acentuado, intenta usar las combinaciones de teclas alternativas de Windows para insertarlas.

Por ejemplo, el écarácter se envía como Alt+ 0 2 3 3. Por supuesto, esto solo envía tonterías en Linux porque maneja caracteres especiales de manera diferente.

No puedo cambiar la forma en que se envían los archivos desde el dispositivo.

Me preguntaba si había una manera de emular temporalmente estas Altpulsaciones de teclas de Windows en Linux para que los archivos se envíen correctamente.

Andrea
fuente
Por horrible que parezca, es posible que deba usar un programa que obtenga la entrada sin formato del "dispositivo" del teclado y maneje los códigos en sí. No sé de tal programa.
Ignacio Vazquez-Abrams
@Fabian gracias, parece que la consola de Linux (Ctrl + Alt + F1) permite códigos Alt y enviar un archivo allí funciona. Sin embargo, esperaba una forma de emular esto en la GUI.
Andrea
@ IgnacioVazquez-Abrams Eso es lo que me preocupaba. Esperaba una forma más sencilla de hacer esto.
Andrea
Ahora que lo pienso más, un motor IBus probablemente podría escribirse para manejar esto, pero está fuera de mi experiencia.
Ignacio Vazquez-Abrams

Respuestas:

0

Entonces parece haber una solución alternativa. La consola de Linux ( Ctrl+ Alt+ F1) permite códigos Alt y enviar un archivo allí funciona.

Sin embargo, esperaba emular esto en la GUI. Pero parece ser bastante difícil hacer esto a menos que se habilite una programación de bajo nivel. No aceptaré esta respuesta durante unas horas en caso de que alguien tenga otra solución.

Andrea
fuente
Nota: según esto , "pocos" es al menos aproximadamente 48. :)
Kamil Maciorowski
@KamilMaciorowski ok, perdón, mi error
Andrea
Ni un error ni algo por lo que lamentarse. Solo le digo que el sitio no le permitirá aceptar esta respuesta durante unos días.
Kamil Maciorowski
0

No es exactamente lo que está pidiendo, pero es lo suficientemente similar como para que probablemente todavía funcione:

Muchos (pero no todos) marcos IME (incluidos ibus y fctix) en Linux admiten una biblioteca llamada m17n para proporcionar IME. La biblioteca m17n proporciona un montón de IME fáciles de usar (incluidas las reasignaciones de teclado triviales para manejar varios idiomas). Uno de estos, simplemente llamado 'Unicode', pasa a hacer casi exactamente lo mismo que los códigos alt. Las dos únicas diferencias son:

  • Los códigos alternativos dependen de la página de códigos de su sistema para aplicaciones heredadas. El IME m17n 'Unicode' utiliza puntos de código Unicode hexadecimales, que son 100% consistentes, independientemente de cómo esté configurado el sistema.
  • Los códigos Alt requieren que mantenga presionada la tecla Alt y use el teclado numérico para ingresar los dígitos. El IME m17n 'Unicode' usa Ctrl-U como secuencia de activación y le permite ingresar el código de la forma que desee (siempre que coincida con el código hexadecimal requerido).

Entonces, para su ejemplo de una letra latina minúscula 'e' con acento agudo, la secuencia exacta para el IME 'Unicode' de m17m sería Ctrl-U 0 0 e 9. Numéricamente, el número hexadecimal 00e9 es en realidad idéntico al valor decimal 0233 utilizado para el código Alt equivalente con CP1252. Este es el caso de la mayoría de los primeros 256 caracteres en Unicode, ya que en su mayoría coinciden con CP1252 en orden y posición. Sin embargo, esta equivalencia no es válida para los números más altos.

Otros IME proporcionados por m17n que pueden ser de su interés potencial incluyen 'Latin-Post' y 'Latin-Pre' que le permiten agregar caracteres específicos después o antes de una letra para producir signos diacríticos o letras especiales (para eso usaría e'o 'erespectivamente), y 'RFC 1345', que utiliza la mnemotecnia RFC 1345 para permitir la entrada de una gran mayoría de los caracteres ampliamente utilizados del Unicode BMP (y usaría lo mismo e'que el método 'Latin-Post').

Austin Hemmelgarn
fuente