Когда пишешь код для 1С на кириллице, приходится постоянно переключаться между раскладками, так как в коде используются некоторые символы, доступные только в латинской раскладке. Да можно настроить клавиатуру под себя, но мне это не очень удобно. Поэтому я вынужден постоянно переключаться между раскладками. В какой то момент обратил внимание на то, что раскладка не успевает переключиться за то время, как я нажимаю клавиши. Выяснилось, что у windows есть таймаут нажатия и правится он в реестре:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response]
"DelayBeforeAcceptance"="50"
А когда у меня добавилась раскладка, выяснилось, что нельзя настроить переключение не иначе, как каруселью (стандартными средствами). Сегодня случайно узнал, что есть комбинация Win-Ctrl-Space, которая позволяет переключаться между двумя последними, как в gboard. А потом нашелся скрипт для autoHotKey, который позволяет сменить стандартное поведение alt+shift на эту волшебную комбинацию. Выбор другой раскладки можно оставить за win+Space или настроить при помощи стандартных средств.
Скрипт для ahk v1 и не мой, я лишь добавил {LAlt up}{LShift up}, так как у меня иногда "залипают" эти клавиши. Идея оказалась так себе, так как стало еще хуже
; This scripts changes the functi onality of Shift + Alt from "switch keyboard layout"
; to "change to previous layout".
; this is usefull when you have more than 2 keyboard layouts and want to switch between
; only 2 of them.
LAlt & LShift::send, #^{space down}{space up}
; Замена Alt-Shift на Win-Ctrl-Space
Теперь надо отучиться дважды переключать раскладку X-D
Неожиданно выяснилось, что эта штука ведет себя некорректно в сеансах RDP O_O. Пришлось сгруппировать процессы exe в группу и сказать скрипту работать, только если активное окно не входит в эту группу
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
GroupAdd, RDP_EXE, ahk_exe RDCMan.exe
GroupAdd, RDP_EXE, ahk_exe mRemoteNG.exe
GroupAdd, RDP_EXE, ahk_exe mstsc.exe
#IfWinNotActive ahk_group RDP_EXE
LAlt & LShift::send, #^{space down}{space up} ; Замена Alt-Shift на Win-Ctrl-Space
#If
Комментариев нет:
Отправить комментарий