Как я могу получить очистку текста (Alt + Left / Right / Up / Down), чтобы работать больше как Mac на Windows 10? У меня CTRL и ALT уже переключены через:

LAlt::LCtrl
LCtrl::LAlt

Теперь я хочу сделать:

Win + Влево / Вправо / Вверх / Вниз, чтобы выполнить как (оригинал) CTRL + Влево / Вправо / Вверх / Вниз (Scrubbing by word)

ALT + Влево / Вправо / Вверх / Вниз, чтобы работать как CMD OSX + Влево / Вправо / Вверх / Вниз (начало или конец строки / файла)

1 ответ1

0

Вы просто пытаетесь переназначить сочетания клавиш?

SendMode Input   ; use SendInput by default for Send

;#IfWinActive, ahk_exe someProg.exe  ; ← #IfWinActive would go here

; Remap Win+ArrowKey to Ctrl+ArrowKey
*#Left::Send ^{Left}
*#Right::Send ^{Right}
*#Up::Send ^{Up}
*#Down::Send ^{Down}

Если вы хотите использовать ключ Windows для CMD то ...

; Remap Alt+ArrowKey to Win+ArrowKey
*!Left::Send #{Left}
*!Right::Send #{Right}
*!Up::Send #{Up}
*!Down::Send #{Down}

Звездный модификатор * позволяет присутствовать / активировать другие клавиши-модификаторы и по-прежнему срабатывать. Вы можете или не можете этого хотеть. И вам может потребоваться отправить {Blind} (то есть добавить это к операторам отправки), если вы не хотите, чтобы дополнительные модификаторы были выпущены. Смотрите документацию для отправки.

Если вы хотите, чтобы эти перестановки работали только в определенных программах, используйте оператор #IfWinActive предшествующий операторам переназначения в сценарии. С другой стороны, #If WinActive("ahk_exe ProgA.exe") || WinActive("ahk_exe ProgB.exe") если вы хотите, чтобы они менялись местами для нескольких (но не всех) программ.

Сверху должно быть очевидно, что представляют собой ключевые модификаторы (Ctrl = ^ , Alt = ! Win = #)... полный список доступен здесь: Горячие клавиши.

Кроме того, если вам в конечном итоге потребуется сделать больше, чем простые однострочные для переназначения клавиш, просто поместите операторы в строку после определения горячей клавиши и используйте оператор Return чтобы сделать несколько вещей для одного триггера горячей клавиши, т.е.

; Scrub the clipboard of formatting and paste... 
; This takes two commands, list on the line after hotkey definition
#IfWinActive   ; Reset conditional so this will trigger in any program...
+^v::
    Clipboard := Clipboard  ; Reassign only text back to clipboard vs. ClipboardAll
    Send ^v
Return

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .