Convertir fila de número en fila de símbolos por defecto

12

Como programador, me encuentro escribiendo símbolos con mucha más frecuencia que los números. Por lo tanto, sería bueno que la fila de números en el teclado produjera símbolos por defecto.

Los resultados finales deberían ser: 6produciría ^y Shift+ 6daría 6.

Intenté cambiar a Dvorak por un tiempo, pero la combinación de una curva de aprendizaje empinada y una fecha límite inminente no lo convierten en una solución atractiva.

Idealmente, me gustaría hacer esto también en Windows, pero centrémonos en Debian, ya que es mi principal máquina de desarrollo.

Por lo que encuentro en la web, la función "bloqueo de mayúsculas", activada al presionar rápidamente el botón Shift, hace exactamente eso en Windows, pero no pude encontrar ninguna referencia * nix.

Editar: Idealmente, la solución no debería interferir con las teclas de filas que no son numéricas, [pero si lo hace, puedo vivir con ella (como {es más común en C que [).

rath
fuente

Respuestas:

8

Por su pregunta, entiendo que solo necesita ciertas teclas para funcionar exactamente como cuando presiona shift y viceversa. Para esto, puede crear su propio diseño de teclado personalizado. Para esto, puede descargar Microsoft Keyboard Layout Creator MSKLC y luego usarlo para crear diseños personalizados para su sistema. También después de crear el diseño personalizado. Debería solicitarle que instale el diseño creado, por lo tanto, elija SÍ para ir a esa carpeta donde está el instalador e instalar su diseño personalizado. También debe reiniciar su sistema después de crear su diseño personalizado. Después de esto, solo necesita activarlo desde el Panel de control.

Vaya a (para Windows 8)

  1. Presione el botón de Windows + I (para abrir el menú Ajustes de accesos)
  2. Haga clic en el botón Teclado (esquina inferior derecha)
  3. Deberías ver tu diseño personalizado
  4. Seleccionarlo
  5. Y ahora se activará su diseño personalizado

También para obtener un tutorial completo sobre MSKLC, puede obtenerlo aquí y aquí . Vea ambos términos si ocurre algún problema.

Cazador
fuente
1
La pregunta es sobre Debian.
harrymc
@harrymc Bueno, sí y no. "Idealmente, me gustaría hacer esto también en Windows, pero centrémonos en Debian, ya que es mi principal máquina de desarrollo". Entonces la respuesta no es exactamente inválida en el contexto de la pregunta.
un CVn el
Bueno, supongo que debería haber especificado Windows 7, ya que no tengo una máquina Win8. Una respuesta válida, no obstante.
rath
@rath no necesita preocuparse, pondría los detalles para ganar 7 corriendo en la caja virtual.
Hunter
@rath Aquí están los detalles para hacerlo en W7. Consulte estos enlaces: - support.microsoft.com/kb/258824 , support.microsoft.com/kb/306560 y sevenforums.com/tutorials/86239-keyboard-layout-change.html . Observe también que cuando agrega una distribución de teclado personalizada (u otras adicionales proporcionadas por Windows) solo entonces (cuando tiene más de 1 distribución de teclado activada) podrá ver la barra de idioma (en la barra de tareas, al igual que Windows 8 excepto que está en el menú de encantos).
Hunter
5

Del hilo Revertir la función de presionar shift + número viene este archivo xmodmap:

keycode  10 = exclam 1 exclam 1
keycode  11 = at 2 at 2
keycode  12 = numbersign 3 numbersign 3
keycode  13 = dollar 4 dollar 4
keycode  14 = percent 5 percent 5
keycode  15 = asciicircum 6 asciicircum 6
keycode  16 = ampersand 7 ampersand 7
keycode  17 = asterisk 8 asterisk 8
keycode  18 = parenleft 9 parenleft 9
keycode  19 = parenright 0 parenright 0

Consulte el enlace anterior para obtener más información sobre el uso de este archivo.

harrymc
fuente
2

Puede usar dumpkeysy loadkeys(para la consola) o xmodmap(para X) para redefinir la función de una tecla de teclado determinada. xevpuede decirle cómo X ve una entrada clave en particular.

Le recomiendo que imprima primero el conjunto completo de expresiones del mapa de teclas; es posible que su sistema esté configurado de manera ligeramente diferente, en cuyo caso lo anterior no coincidirá exactamente. Para hacer eso, solo hazlo xmodmap -pke(para imprimir la tabla del mapa de teclas como expresiones).

A modo de ejemplo, para volver a asignar 1a !y Shift+ 1a 1en X, en primer lugar el uso xev para descubrir que 1es código clave 10 (en mi caso; Asegúrese de verificar). Para reasignar la tecla para invertir su función desplazada:

xmodmap -e 'keycode 10 = exclam 1 exclam 1 exclamdown onesuperior exclamdown'

Para restaurar la función normal (esto coincide con lo impreso por xmodmap -pke):

xmodmap -e 'keycode 10 = 1 exclam 1 exclam exclamdown onesuperior exclamdown'

Los cambios surten efecto inmediatamente y afectan al menos a toda la sesión X (no son locales para la aplicación que inicia xmodmap).

Una vez que tenga un conjunto de comandos xmodmap que configure el teclado de la manera que desee, almacénelos en ~ / .xmodmaprc y luego agréguelos a su ~ / .xsessionrc (creándolo si no existe):

xmodmap ~/.xmodmaprc

La parte que desea agregar a .xmodmaprc es simplemente la keycode XX = yyy ...parte del comando de línea de comando (es decir, el argumento del -einterruptor).

un CVn
fuente