Autohotkey: Remap Win key - при нажатии в одиночку - PullRequest
0 голосов
/ 30 октября 2018

Из-за безумной раскладки клавиатуры ноутбука и невозможности сопоставления Fn-комбинаций я хочу сделать несколько переназначений. Я хотел бы использовать клавишу LWin в качестве модификатора (например, LWin + Right ==> End и т. Д.). Работает просто отлично.

Тем не менее, я хочу остановить LWin при нажатии и отпускании в одиночку, чтобы вызвать меню Windows (b / c я иногда нажимаю модификатор, но затем решаю не завершать действие) и Я все еще хочу иметь возможность довольно легко получить доступ к меню Windows, скажем, через LAlt + LWin. (Очевидно, что в противном случае LWin должен действовать как правильный модификатор.)

Итак, я попробовал:

#LAlt::Send {LWin}

, который вроде работает, но безобразно (нужно, чтобы LWin удерживался нажатым, пока Alt нажимается и отпускается). Это было бы более естественно, наоборот, то есть

!LWin::Send {LWin}

но это не работает (даже с префиксом $ или ~).

Хуже всего то, что мне не удалось отключить LWin-ключ один таким образом, что он все еще работает как модификатор:

LWin::Return

убивает его полностью.

Я новичок в autohotkey (думаю, мне повезло с клавиатурой;)); Какой хороший способ решить эти проблемы?


Обновление: вот мой полный файл горячих клавиш:

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#InstallKeybdHook

; Win + arrows
*#Right::Send {End}
*#Left::Send {Home}
*#Down::Send {PgDn}
*#Up::Send {PgUp}

; Sane CapsLock: make it Shift, Shift+CapsLock as CapsLock
CapsLock::Shift
+CapsLock::CapsLock

; Alt-Win to Win (so that Win menu is accessible still)
;   and disable Win alone (so that it won't pop up with navigation)
;??????????????

1 Ответ

0 голосов
/ 31 октября 2018

Это должно работать:

LWin up::return
<!Lwin::
    send ^{Esc}
return
<#right::
    send {end}
return

Используя Ctrl + Esc вместо LWin , здесь все получается.

...