Принцип работы следующий: все клавиши печатают как обычно, но некоторые печатают типичные для программирования символы при удерживании Alt: Alt+N -> (, двойной Alt+N -> [ и удерживая Alt+N 300мс+ вы напечатаете блок кода с фигурными скобками { }и переносом строк.
Полный список зарегистрированных клавиш доступен ниже в секции allApps. пример:
allApps.add("<!sc031", LAlt_N_AllApps)
allApps.add("<!sc032", LAlt_M_AllApps)
LAlt_N_AllApps(taps, state) {
if (state = -1) {
if (taps = 1)
return SendChars('(')
SendChars('[')
} else if !state {
SendChars('+[')
if (taps = 1)
return
SendEvent('{Enter 2}')
SendEvent('{Up}')
SendEvent('{Tab}')
}
}
Здесь callback имеет state -1 если клавиша нажата, 1 если удерживается и 0 если отпущена. taps представляет собой количество нажатий. Можно просто быстро два раза нажать, а можно быстро нажать и удерживать, в этом случае taps == 2 и state == 1
Я в некоторых сборках это глобальный параметр, на который опираются все процессы. Его измнение может привести к отдаленным последствиям.
Если вы всё-таки хотите его изменить, необходимо протестировать, какие конкретно значения оптимальны для ваших задач и для вашей ОС
Нет универсальных или общих значений, они могут только испортить вашу работу. Вместо изменения этого параметра лучше вообще пойти другими путями.
Нужно стремиться не к уменьшению таймера, а к уменьшению прерываний процессора, к уменьшению его переключений между процессами.
Для этого нужно работать и с параметрами реестра, и с приоритетами, и отключать ненужные службы и много чего ещё. Это огромная и тонкая работа, по которой еще никто не написал подробную статью. Я когда-то хотел, но потом передумал: умный пользователь сам найдет свой правильный путь, а ленивый –проследует по чужому пути и упадёт в заготовленную яму.
Фантастика! Но я перестал писать на Python и перешёл на AutoHotkey из-за возможности работать с WinApi напрямую. Плюс язык pprototype-based. И вот тут вообще нет никаких типов, хорошо хоть под капотом один тип не преобразовывается тайно в другой, как в JavaScript:
encapsulate() {
static API_CONST := 0x008
...
API_CONST := 12 # nah we'll just ignore it
}
Хотя бы проблемы вроде "прочитал новый паттерн ООП и внедрил его на уоовне 1970 года" тут случаются редко, потому что язык дает очень много возможностей написать все в число процедурном стиле. А классы использовать в основном без интерфейсов и абстрактных методов, просто потому что здесь нет типов (а следовательно костыли из интерфейсов не нужны)
`ClipWait` лучше ставить на 1+ секунду, так как это верхняя граница времени ожидания. Более того, временами буфер обмена может быть закрыт для чтения, поэтому лучше опрашивать ее в цикле (polling) и сохранять `A_Clipboard` в любую переменную до восстановления содержимого `A_Clipboard := backup`. Сразу после – восстановить содержимое:
Ряд доменов из MEGA SDK, через которые идет маршрутизация при загрузке файлов *не-из-web-клиента*, заблокированы или недоступны на территории РФ. Тихо. Без огласки. Более того, оплата Mega официально недоступна на территории РФ.
Это не оверинжиниринг, это базовая конфигурация. Автор деликатно умолчал о том, что каждый из этих софтов можно до двух суток подряд под себя настраивать, вот это уже будет действительно оверинжиниринг. Но он будет того стоить. В особенности подобрать плагины для UIlauncher или написать какой-нибудь поисковик по базам данных который будет выдавать до 10 строк в поисковом окне по ключевому слову "db" ...
Если вам не страшен Autohotkey код, попробуйте моё решение (документация не прилагается): https://pixeldrain.com/u/J9r9TV1V
Принцип работы следующий: все клавиши печатают как обычно, но некоторые печатают типичные для программирования символы при удерживании
Alt:Alt+N->(, двойнойAlt+N->[и удерживаяAlt+N300мс+ вы напечатаете блок кода с фигурными скобками{ }и переносом строк.Полный список зарегистрированных клавиш доступен ниже в секции allApps. пример:
Здесь callback имеет
state-1 если клавиша нажата, 1 если удерживается и 0 если отпущена.tapsпредставляет собой количество нажатий. Можно просто быстро два раза нажать, а можно быстро нажать и удерживать, в этом случаеtaps == 2иstate == 1А какие есть адекватные расширения?
О, я тоже пишу скрипты на AHK :D Буду рад сотрудничеству: https://github.com/JoyHak
У меня есть два репозитория модов к нему:
https://github.com/JoyHak/Vivaldi-CSS-mods
https://github.com/JoyHak/customize-vivaldi-buttons
Исправил тут: https://www.autohotkey.com/boards/viewtopic.php?f=83&t=140529&p=617670#p617670
Исправил тут: https://www.autohotkey.com/boards/viewtopic.php?f=83&t=140529&p=617670#p617670
Данный код не учитывает проблемы с задержкой, из-за которой вводимые символы не соответствуют раскладке клавиатуры какое-то время после переключения. Исправил тут: https://www.autohotkey.com/boards/viewtopic.php?f=83&t=140529&p=617670#p617670
...и ни одной интересной статьи про него за последние годы.
Отдельным комментарием отмечу:
Хорошо что автор не стал менять
TdrDelayиTdrDebugMode, иначе с такими общими значениями он бы положил компьютеры всех, кто вслепую поставил твикер.Нет критических параметров для отключения фиксов уязвимостей процессора Spectre и Meltdown:
Наверное стоит полностью отключить Hyper-V в биос и Core Isolation если вам нигде не нужна виртуализация и вы не используете виртуальные машины:
Я бы рекомендовал почитать дискуссии прежде чем менять Timer Resolution:
Я в некоторых сборках это глобальный параметр, на который опираются все процессы. Его измнение может привести к отдаленным последствиям.
Если вы всё-таки хотите его изменить, необходимо протестировать, какие конкретно значения оптимальны для ваших задач и для вашей ОС
Нет универсальных или общих значений, они могут только испортить вашу работу. Вместо изменения этого параметра лучше вообще пойти другими путями.
Нужно стремиться не к уменьшению таймера, а к уменьшению прерываний процессора, к уменьшению его переключений между процессами.
Для этого нужно работать и с параметрами реестра, и с приоритетами, и отключать ненужные службы и много чего ещё. Это огромная и тонкая работа, по которой еще никто не написал подробную статью. Я когда-то хотел, но потом передумал: умный пользователь сам найдет свой правильный путь, а ленивый –проследует по чужому пути и упадёт в заготовленную яму.
Сам сгенерировал или кто помог?...
Фантастика! Но я перестал писать на Python и перешёл на AutoHotkey из-за возможности работать с WinApi напрямую. Плюс язык pprototype-based. И вот тут вообще нет никаких типов, хорошо хоть под капотом один тип не преобразовывается тайно в другой, как в JavaScript:
И нету констант нигде:
Хотя бы проблемы вроде "прочитал новый паттерн ООП и внедрил его на уоовне 1970 года" тут случаются редко, потому что язык дает очень много возможностей написать все в число процедурном стиле. А классы использовать в основном без интерфейсов и абстрактных методов, просто потому что здесь нет типов (а следовательно костыли из интерфейсов не нужны)
`ClipWait` лучше ставить на 1+ секунду, так как это верхняя граница времени ожидания. Более того, временами буфер обмена может быть закрыт для чтения, поэтому лучше опрашивать ее в цикле (polling) и сохранять `A_Clipboard` в любую переменную до восстановления содержимого `A_Clipboard := backup`. Сразу после – восстановить содержимое:
Я нашел тот самый пост с Moltbook: https://www.moltbook.com/post/cbd6474f-8478-4894-95f1-7b104a73bcd5
А еще я нашел вот это: https://www.reddit.com/r/vibecoding/comments/1qu96qe/the_ai_lobsters_are_taking_over_and_they_started/
Ряд доменов из MEGA SDK, через которые идет маршрутизация при загрузке файлов *не-из-web-клиента*, заблокированы или недоступны на территории РФ. Тихо. Без огласки. Более того, оплата Mega официально недоступна на территории РФ.
У меня даже есть один такой скрипт для Everything: https://github.com/JoyHak/Flow-Launcher-windows-key
Планирую добавить поддержку горячих клавиш для быстрого создания /редактирования макросов, а то разработчик забыл...
Ну и пример комплексного приложения на AHK: https://github.com/JoyHak/QuickSwitch
Предлагаю еще утилиту для улучшения файлового диалога: https://habr.com/ru/articles/897824/
Уменьшите нагрузку и количество зарегистрированных клавиш с помощью Tapholdmanager
Оригинальная документация: https://github.com/evilC/TapHoldManager/tree/master
Моя версия (чуть проще и читабельнее): https://github.com/JoyHak/Flow-Launcher-windows-key/tree/main/Libs
Он будет печатать клавиши с задержкой (весьма ощутимо при быстрой печати), зато на одну клавишу можно назначить неограниченное число отправок.
В качестве решения могу предложить два пути развития:
Ограничиться только подсчётом количества нажатий. создании экземпляра TapHoldManager передайте параметр holdTime равный нулю.
Ограничиться только удерживанием и одиночным нажатием. В этом случае параметр tapTime равен нулю.
Это опять ручное отключение :)
Это не оверинжиниринг, это базовая конфигурация. Автор деликатно умолчал о том, что каждый из этих софтов можно до двух суток подряд под себя настраивать, вот это уже будет действительно оверинжиниринг. Но он будет того стоить. В особенности подобрать плагины для UIlauncher или написать какой-нибудь поисковик по базам данных который будет выдавать до 10 строк в поисковом окне по ключевому слову "db" ...