Remapear Enter como CapsLock y Shift con Enter como Enter

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

deno698
Posts: 7
Joined: 17 Dec 2022, 07:54

Remapear Enter como CapsLock y Shift con Enter como Enter

17 Dec 2022, 08:32

Hola.

Estoy intentando remapear Enter para que funcione como CapsLock. Que cuando presione RShift y Enter funcione como Enter. Y que cuando presione LShift y Enter funcione como Shift y Enter (para los saltos de línea en chats por ejemplo).

Pero no funciona como espero. Por ejemplo:

- Si estoy en un chat y presiono RShift y Enter para mandar el mensaje, me lo toma como si fuera Shit y Enter y da un salto de línea.

- Si hago una búsqueda en la barra de direcciones de Firefox presionando RShift y Enter, me lo toma como si fuera Shift y Enter, abriendo una nueva ventana.

Lo mismo sucede si uso LShift en lugar de RShift.

Mi código es este:

Enter::CapsLock
RShift & Enter::Enter
LShift & Enter::+Enter

El historial de teclas me muestra esto para RShift y Enter

A1 136 d 0.94 RShift
0D 01C h d 0.22 Enter
0D 01C i d 0.00 Enter
0D 01C h u 0.20 Enter
0D 01C i u 0.00 Enter
A1 136 u 0.25 RShift

Y esto para LShift y Enter:

A0 02A d 2.70 LShift
0D 01C h d 0.31 Enter
0D 01C i d 0.00 Enter
0D 01C h u 0.22 Enter
0D 01C i u 0.00 Enter
A0 02A u 0.34 LShift
gmoises
Posts: 74
Joined: 18 Nov 2017, 16:43

Re: Remapear Enter como CapsLock y Shift con Enter como Enter

19 Jan 2023, 18:52

Creo que hay que usar el Keyboard Hook porque el Hotkey "Enter" manda a la misma tecla "Enter"
También puedes restringir estos hotkeys a cierta ventana o a cualquier otra condición

Code: Select all

#InstallKeybdHook

#UseHook On
	Hotkey, $Enter, alEnter, On
#UseHook Off

alEnter:
	If GetKeyState("LShift" ,"P")
		SendInput, +{Enter}
	Else If GetKeyState("RShift" ,"P")
		SendInput, {Enter}
	Else
		SendInput, {CapsLock}
Return

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 6 guests