Наразі я використовую AutoHotKey для імітації відображення клавіш Happy Hacking Keyboard Pro 2 на Topre Realforce 89s.
Створений мною сценарій доступний на github .
Я використовував японський ключ "muhenkan" (SC07B) для імітації Fnключа, і додав всі Fnкомбіновані відображення клавіш, як у двох прикладах нижче:
SC07B & SC002::send,{Blind}{F1} ; Fn + 1 -> F1
SC07B & SC01A::send,{Blind}{Up} ; Fn + [ -> Up
Знаходячись зліва та праворуч клавіші Space, я також хочу використовувати "muhenkan" та "henkan" (SC079) як Enterі Backspace.
Оновлення "henkan" для Backspaceлегко зробити за допомогою:
SC079::send,{BS}
+SC079::send,{BS}
^SC079::send,^{BS}
Щодо "muhenkan", який використовується як Fnклавіша перемикання, я відобразив його на Enterключ наступним рядком:
SC07B::send,{Enter}
Здається, немає конфлікту з тим, що він використовується як обидва, так Fnі Enter:
- у поєднанні з іншим ключем він не виводить Enter
- коли жодна інша клавіша не комбінована, вона Enterвидається після звільнення
Бувають випадки, коли я вперше можу натиснути цю Fnклавішу з наміром поєднати її з іншою клавішею, і, врешті, відмовитись від цього наміру, відпустивши Fnключ.
Проблема полягає в тому, що, випустивши ключ, він видає Enter, що не є ідеальним.
Я хотів би покращити це, налаштувавши цей Fnключ так, що після його виходу він видає лише Enter, якщо виконуються дві наступні умови:
- не була натиснута інша клавіша між тривалістю Fnнатискання та відпускання клавіші
- тривалість між прес-релізом ( DOWN/ UP) була меншою за задане значення (напр .: 500 мс)
Чи є простий спосіб змінити мою конфігурацію AutoHotKey, щоб продовжувати використовувати SC07B як ключ перемикача ( Fn), а також відобразити його на Enter з попередніми умовами?
Те, що я визначаю комбінації клавіш, здається, змушує відображення Enterпрацювати над випуском ключа, що я хочу, але це також означає, що я не можу використовувати KeyWait і перевіряти час очікування, оскільки я вважаю, що команди запускатимуться лише після випуску ключа ( що тоді не має сенсу).
A_TimeSincePriorHotkey також не використовується, оскільки він не відображає час, який проводиться між натиснутою та відпущеною поточною гарячою клавішею.
A_TickCount
таKeywait
визначити, як довго натискали клавішу.