Linux - Como usar CAPS LOCK tanto como SHIFT quanto BACKSPACE?

Linux - Como usar CAPS LOCK tanto como SHIFT quanto BACKSPACE?

Quero poder usar a caps locktecla do meu teclado quando shift keya mantiver pressionada e quando backspacesoltar a tecla (já que não pressionei nenhuma outra tecla nesse intervalo). Prefiro uma solução nativa (como o xmodmap), mas não tenho certeza se é possível regular KEYUPe KEYDOWNpressionar usando apenas as ferramentas básicas do sistema.

Responder1

Não conheço nenhuma maneira nativa de fazer isso, mascapadose o que quiser:

#!/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 isso em um script e execute-o na inicialização (após o teste, é claro).

Problemas potenciais:

  • Infelizmente, isso não é 100% confiável (pelo menos no meu sistema). Às vezes, ele para de funcionar aleatoriamente. A reexecução do script corrige isso de forma confiável. Eu configurei um atalho de teclado (que não é afetado por nenhum remapeamento de teclado) para executar o script, portanto, ter que executar novamente de vez em quando não é muito doloroso.

  • Isto irá adicionar oBackspace no lançamentocomportamento para todas Shift_Las chaves. Se houver algum (descubra usando xmodmap -pke | grep Shift_L), você pode remapear para Shift_R.

  • Existem aplicativos que parecem não ser afetados por isso. No entanto, esses são realmente raros. O único que encontrei foi o Signal messenger. Também pode haver alguns videogames que vêm com seu próprio sistema de entrada integrado e, portanto, eliminam quaisquer modificações no nível do sistema.

PS: Estou usando isso para mapear ambos controle escapepara minha cabslockchave. Como vimusuário, kakouneacho isso muito útil.

PPS, desculpe se esta resposta chegar muito tarde, mas este foi meu principal resultado no Google, então mesmo que não seja mais útil para o OP, outros ainda poderão considerá-lo útil.

informação relacionada