evilC 6 years ago
commit 4e5dc009b4

@ -24,9 +24,12 @@ Include the library
Initialize the library
```
Interception := AutoHotInterception_Init()
```
```
## Modes
There are two modes of operation for AHI, currently each script can only use one of them.
## Context mode
### Context mode
Context mode is so named as it takes advantage of AutoHotkey's [Context Sensitive Hotkeys](https://autohotkey.com/docs/Hotkeys.htm#Context).
In AHK, you can wrap your hotkeys in a block like so:
```
@ -37,14 +40,14 @@ F1::Msgbox You Pressed F1
This hotkey would only fire if the `myVariable` was 1.
In context mode, you subscribe to a keyboard, and any time events for that keyboard are just about to happen, then AHI fires your callback, and you set this variable to `1` the hotkey is enabled. After your hotkey fires, AHI fires the callback again and the variable gets set back to `0`.
### Step 1
#### Step 1
Register your callback with AHI
```
VID := 0x04F2, PID := 0x0112
Interception.SetContextCallback(VID, PID, Func("SetKb1Context"))
```
### Step 2
#### Step 2
Create your callback function, and set the context variable to the value of `state`
```
SetKb1Context(state){
@ -54,7 +57,7 @@ SetKb1Context(state){
}
```
### Step 3
#### Step 3
Create your hotkeys, wrapped in an `#if` block for that context variable
```
#if isKeyboard1Active
@ -69,8 +72,8 @@ Create your hotkeys, wrapped in an `#if` block for that context variable
#if
```
## Subscription mode
In Subscription mode, you bypass AHK's hotkey system completely, and Interception notifies you og key events via callbacks.
### Subscription mode
In Subscription mode, you bypass AHK's hotkey system completely, and Interception notifies you of key events via callbacks.
Subscribe to a key on a specific keyboard
`SubscribeKey(<scanCode>, <block>, <callback>, <VID>, <PID>`

Loading…
Cancel
Save