¿Cómo vincular Ctrl + flechas a las teclas Inicio y Fin? xmodmap no funciona

15

En Windows, solía vincular Ctrl+ LeftaHome y Ctrl+ Derecha a Endtravés de AHK.

Ahora estoy luchando por lograr este comportamiento en Ubuntu. He intentado editar /etc/inputrc:

"\e[1;5C": end-of-line
"\e[1;5D": beginning-of-line

Funciona pero solo en la ventana de terminal. También probé xmodmap:

xmodmap -e "keycode 113=Left NoSymbol Home"

Pero no funciona.
Lo extraño aquí es que si me uno a Shift+ Leften xmodmap funciona:

xmodmap -e "keycode 113=Left Home"

Supongo que el comportamiento predeterminado de Ctrl+ Left(omitir palabras) de alguna manera tiene prioridad sobre los enlaces xmodmap.

¿Dónde puedo encontrar dónde se encuentran los enlaces predeterminados y cómo eliminarlos? ¿O tal vez podría vincular el comportamiento necesario allí?

Estoy en Ubuntu 12.04

acid009
fuente
¿Obtiene xevsalida para las claves que desea cambiar?
Seth
Hago. Obtuve el código clave 113 = Izquierda de la salida xev.
acid009
¿Puedes agregar toda la xevsalida por favor?
Seth
estado 0x0, código clave 113 (keyym 0xff51, izquierda)
acid009
y estado 0x4, código clave 113 (keyym 0xff51, Izquierda) si se presiona con Ctrl - el estado cambia a 0x4 como se esperaba
acid009

Respuestas:

11

AutoKey puede hacer enlaces como este, pero requiere ejecutar un servicio en segundo plano (como ahk, pero a diferencia de xmodmap).

Configure una "frase" donde está el texto <home>, el método de pegar Keyboardy la tecla de acceso rápido es <ctrl>-<left>:

AutoKey GUI

cscarney
fuente
Agradable. Esto también podría ser un buen ajuste como respuesta aquí también askubuntu.com/questions/254424/…
Kevin Bowen
1
Una versión ampliada y más genérica: askubuntu.com/a/304834/194 ¿ Eso hace que esta pregunta sea un duplicado?
cscarney
Probablemente sí, pero igual deberías obtener la recompensa. ;-)
Kevin Bowen
Este método no funciona.
acid009
1
@JeffDror es <page_up> y <page_down> ( code.google.com/p/autokey/wiki/SpecialKeys )
cscarney
1

Estoy usando el teclado de aluminio de Apple en la estación de trabajo Ubuntu y los siguientes comandos xmodmap lo hicieron por mí:

# remap Ctrl_L to ModeSwitch, then use it to map arrow keys so that
# they act like on the MacBook keyboard with Fn key pressed 
xmodmap -e "keycode 37=Mode_switch"
xmodmap -e "keycode 113 = Left NoSymbol Home"
xmodmap -e "keycode 114 = Right NoSymbol End"
xmodmap -e "keycode 111 = Up NoSymbol Prior"
xmodmap -e "keycode 116 = Down NoSymbol Next"

Esto funciona perfectamente porque mi Caps Lockclave se reasigna a la función Control usando las preferencias del teclado de Ubuntu, por lo que no se necesita la tecla Control izquierda. Dado que se encuentra donde se encuentra la tecla Fn en el teclado MacBook, cambiar entre los teclados de escritorio y MacBook no afecta la memoria muscular.

Peter Kvitek
fuente
0

Autokey trabajó para mí. El comportamiento predeterminado de Autokey sería: mapear ambos right ctrl+ arrowy left ctrl+ arrow. Y solo quería right ctrl, porque solía left ctrlnavegar palabras.

Aquí está el script que usé en Autokey:

output = system.exec_command('xinput query-state "AT Translated Set 2 keyboard" | grep down', getOutput=True)
# 105 is right ctrl
if 'key[105]=down' in output:
    keyboard.send_keys('<end>')
else:
    keyboard.send_keys('<ctrl>+<right>')

Nota: es posible que tenga un nombre de teclado diferente. Prueba todos ellos. Tenía 3 dispositivos, pero solo uno funcionaba

xinput list --name-only | grep -i keyb
Virtual core keyboard
Virtual core XTEST keyboard
AT Translated Set 2 keyboard

PD: instalé Autokey desde GitHub, porque el paquete en el software de Ubuntu está roto.

wibotwi
fuente