Linux: ¿Cómo utilizar BLOQ MAYÚS como MAYÚS y RETROCESO?

Linux: ¿Cómo utilizar BLOQ MAYÚS como MAYÚS y RETROCESO?

Quiero poder usar la caps locktecla en mi teclado cuando shift keyla mantengo presionada y cuando backspacela suelto (dado que no presioné ninguna otra tecla en ese intervalo). Prefiero una solución nativa (como xmodmap), pero no estoy seguro de si es posible regular KEYUPy KEYDOWNpresionar usando solo las herramientas básicas del sistema.

Respuesta1

No conozco ninguna forma nativa de hacer eso, peroxcapedosifica lo que quieras:

#!/usr/bin/env bash

# Remap the key to it's default behavior
# assuming `keycode 66` is your `caps lock` 
# check using `xmodmap -pke | grep Caps_Lock`
xmodmap -e 'keycode 66 = Shift_L Shift_L Shift_L Shift_L Shift_L Shift_L'

# if you remaped your standard backspace key (skip  
# this line if you didn't)  it will no longer be 
# available in the keymap but xcape needs it to be there. 
# To fix this, pick a keycode that's
# not on your physical keyboard (find one using 
# `xmodmap -pke`) and remap it to `BackSpace`. I will 
# assume that `keycode 248` is unused:
xmodmap -e 'keycode 248 = BackSpace BackSpace BackSpace BackSpace BackSpace BackSpace BackSpace '

# kill `xcape` if it's already running so you don't
# get two competing instances
pidof xcape | xargs kill -1

# actually start xcape
xcape -e 'Shift_L=BackSpace'

Coloque esto en un script y ejecútelo al inicio (después de probarlo, por supuesto).

Problemas potenciales:

  • Desafortunadamente, esto no es 100% confiable (al menos en mi sistema). A veces simplemente deja de funcionar aleatoriamente. Sin embargo, volver a ejecutar el script soluciona este problema de manera confiable. Configuré un método abreviado de teclado (que no se ve afectado por ninguna reasignación de teclado) para ejecutar el script, por lo que tener que volver a ejecutarlo de vez en cuando no es demasiado doloroso.

  • Esto agregará elRetroceso al soltarcomportamiento a todas Shift_Llas claves. Si hay alguno (descúbralo usando xmodmap -pke | grep Shift_L), es posible que desee reasignarlos a Shift_R.

  • Hay aplicaciones que no parecen verse afectadas por esto. Aunque son realmente raros. El único que encontré es el mensajero Signal. También puede haber algunos videojuegos que vienen con su propio sistema de entrada integrado y, por lo tanto, eliminan cualquier modificación a nivel del sistema.

PD: estoy usando esto para asignar ambos controly escapemi cabslockclave. Como usuario vimy kakoune, esto me resulta muy útil.

PPS, lo siento si esta respuesta llega muy tarde, pero este fue mi resultado principal en Google, por lo que incluso si ya no es útil para el OP, es posible que otros lo encuentren útil.

información relacionada