diff --git a/README.md b/README.md index d15a37b..2fe79c4 100644 --- a/README.md +++ b/README.md @@ -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(, , , , `