BTC 8190

Слежение за нажатиями клавиш на клавиатуре и генерация соответствующих событий

Для слежения может использоваться Windows Hook, Low Level Windows Hook или DirectInput (необходим установленный DirectX 8 или новее).

Также отслеживаются все мультимедиа кнопки. Для клавиатур серии BTC 8190 чтобы правильно обрабатывался встроенный ролик (или джойстик) в настройках плагина нужно поставить галочку. Названия мультимедийных кнопок совместимы клавиатурами Genius и BTC. Клавиатуры Chicony используют нестандартные коды мультимедийных кнопок и могут не совпадать даже на разных моделях клавиатур Chicony.

Чтобы другие программы не реагировали на используемые в SlyControl комбинации клавиш, их можно зарегистрировать как HotKeys.

В режиме Low Level Windows Hook можно запретить использование системой и другими программами некоторых кнопки, например VolumeMute.

Чтобы посмотреть названия клавиш, откройте настройки плагина, при нажтии клавиш их названия отображаются в поле Monitoring.

Допустимые функции: Comment:
Start() включить слежение
Stop() выключить слежение
StartManual("<keys>") зарегистрировать HotKeys
StopManual("<keys>") отменить регистрацию

При генерации события:

Default type: "KEY"
ID: нажатые клавиши (например"Ctrl+Alt+Shift+A")
Value: всегда 0

Пример скрипта:

TestGroup = group( enabled ){
 OnGroupEnable(){
  Keyboard.Start()
  Keyboard.StartManual("Ctrl+Shift+A")
 }
 OnGroupEnable(){
  Keyboard.StartManual("Ctrl+Shift+A")
  Keyboard.Stop()
 }
 Key1 = hook("KEY", "Ctrl+Shift+A", enabled){
  OSD("Test message!")
 }
}

Эмуляция нажатий клавиш на клавиатуре

Keyabord( "<Command>", "<Params"> [, HWND] )

Commands: Params example: Comment:
"PRESS" "Ctrl+Alt+A"  
"KEYDOWN" "Num Enter"  
"KEYUP" "Num Enter"  
"TYPE" "Testing string" Type string using keyboard layout.
Note: for typing ["] use [""]
Example: Keyboard( "TYPE", "Testing ""string""" )
"ON" | "OFF" "Num Lock" | "Caps Lock" | "Scroll Lock"  
"LAYOUT" "English" or any other See "Keyboard layout hotkeys"
in plugin settings
Direct send keyboard messages:
"WM_KEYDOWN" "X", hWnd  
"WM_KEYUP" "X", hWnd  
"WM_PRESS" "X", hWnd WM_KEYDOWN & WM_KEYUP

Пример:
Winamp (даже если он не активен) подумает что нажали кнопку X, другие приложения никак не отреагируют.

h = Winamp("GET_HANDLE")
Keyboard( "WM_PRESS", "X", h )