Cuaderno de GNUtas

Dos cuestiones de meñiques y ergonomía

No hablemos aquí del célebre «meñique de Emacs», que tanta literatura y mitolgía ha ido alimentando con el correr del tiempo1. Esto es más bien un problemilla que se me venía haciendo ya bastante fastidioso, cuando no perjudicial, para el pobre meñique de mi mano derecha. Es muy simple. No sé si por ciertos malos hábitos adquiridos, y dependiendo también de con qué teclado trabaje, pero el caso es que me tiende a incomodar bastante el alcanzar la tecla mayúsculas de la derecha, así como también la tecla de retroceso. Al final he encontrado sendas soluciones para ambos contratiempos, que paso a comentar aquí, por si le resulta útil a alguien.

Remapear en nuestro teclado la tecla de retroceso

En GNU / Linux se puede hacer de muchas maneras, y una bastante sencilla, si aún usamos xorg (como es mi caso), es con el comando setxkbmap. ¿Y dónde mapeamos la tecla de retroceso? Una opción muy golosa, ya que es una tecla que suele usarse bien poco, es la del bloqueo mayúsculas. Para mí es muy cómoda, por altura y cercanía, y puedo acceder a ella fácilmente con mi meñique izquierdo. Basta que incluyamos en algún script que se ejecute al inicio (en mi caso el archivo de configuración de BSPWM) la orden

setxkbmap -option 'caps:backspace'

que funciona bien, salvo que la acción de eliminar hacia atrás no continuará si mantenemos pulsada la tecla, y tendríamos que hacer varias pulsaciones. Para evitar ese comportamiento debemos añadir también esta otra orden:

xmodmap -e "clear Lock"

Y asunto resuelto.

El problema de las mayúsculas de la derecha

Aquí encontré una solución dentro de Emacs, que es donde casi siempre estoy. Se me ocurrió, en efecto, escribir este menor modo menor que me ofrece una suerte de auto-capitalización rudimentaria. Sí, hay ahí fuera un par (por lo menos) de paquetes que añaden una muy competa autocapitalización, pero tampoco pido tanto y, además, me resulta un incordio andar bregando con los falsos positivos y las excepciones. Lo que viene a hacer mi modo es cierto auto-completado que se expande por expresiones regulares, como un abbrev-mode que afecta a una parte de la palabra que estamos escribiendo y no a la palabra entera. Por ejemplo, si escribimos dos comas seguidas «,,» y a continuación cualquier letra, ésta se capitalizará automáticamente (y desaparecerán las comas, claro). No sé a otros, pero este procedimiento me resulta muy cómodo para poner mayúsculas iniciales sin levantar los dedos de la parte «confortable» del teclado. También incluyo la capitalización tras el punto y seguido y la posibilidad de escribir un pasaje en mayúsculas si lo encerramos entre los comodines ..- -.., es decir, dos puntos y un guión / un guión y dos puntos (para esto útimo tendremos que tener instalado el paquete caps-lock):

(defun cambia-mayusculas ()
    (interactive)
    (when
	(looking-back ",,\\b\\(.\\)\\b" nil)
      (replace-match (upcase (match-string 1))))
    (when
	(looking-back "\\.\\.-\\(.\\)" nil)
      (replace-match (upcase (match-string 1)))
      (caps-lock-mode 1))
    (when
	(looking-back "\\(.\\)-\\.\\." nil)
      (replace-match "\\1\s")
      (caps-lock-mode -1))
    (when
	(looking-back "\\(\\.\s+\\)\\(.\\)" nil)
      (replace-match (concat "\\1"(upcase (match-string 2))))))

  ;;;;;;;;;;;

  (define-minor-mode mayusculas-mode
    :init-value nil
    :lighter ("mayusculas")
    (if mayusculas-mode
	(add-hook 'post-self-insert-hook #'cambia-mayusculas nil 'local)
      (remove-hook 'post-self-insert-hook #'cambia-mayusculas 'local)))

;; y el atajo para activar el modo

  (global-set-key (kbd "C-;") 'mayusculas-mode)

Por último, si por alguna razón queremos evitar que se produzcan los reemplazos, basta con teclear C-q justo después del último carácter «comodín» y antes de introducir la primera letra.

Publicado: 05/04/20

Última actualización: 18/05/20


Índice general

Acerca de...

Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial 4.0 Internacional.

Notas:

1

Véase, por ejemplo, este apartado de la Wikipedia sobre el particular. Yo lo suelo evitar oprimiendo ambas teclas CONTR con la palmas o con el costado de los meñiques doblados.

© Juan Manuel Macías
Creado con esmero en
GNU Emacs