From f7075bbe2854763b53c64e451839f038b1e56f59 Mon Sep 17 00:00:00 2001 From: Clive Galway Date: Thu, 13 Jan 2022 21:38:34 +0000 Subject: [PATCH] Add ToDo with reminder of other things that need fixing --- C#/AutoHotInterception/AutoHotInterception.csproj | 3 +++ C#/AutoHotInterception/ToDo.md | 15 +++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 C#/AutoHotInterception/ToDo.md diff --git a/C#/AutoHotInterception/AutoHotInterception.csproj b/C#/AutoHotInterception/AutoHotInterception.csproj index 65938c3..cd0b459 100644 --- a/C#/AutoHotInterception/AutoHotInterception.csproj +++ b/C#/AutoHotInterception/AutoHotInterception.csproj @@ -46,6 +46,9 @@ + + + if not exist "$(TargetDir)x86" mkdir "$(TargetDir)x86" diff --git a/C#/AutoHotInterception/ToDo.md b/C#/AutoHotInterception/ToDo.md new file mode 100644 index 0000000..9248836 --- /dev/null +++ b/C#/AutoHotInterception/ToDo.md @@ -0,0 +1,15 @@ +# Fix issues with Numlock/Pause +BlueChipps in AHI Discord has a proposed fix [here](https://github.com/bluechipps/AutoHotInterception/tree/pause_numlock_support) + +# Poor coding of extended keys +Currently, there is an `.ignore` flag on `KeyboardState` +When an extended code comes in (eg extended Shift or Ctrl), then the key may be ignored and `block` could never be set +so the extended modifier will always be passed through. +Implement better system: +* When an extended modifier is seen, add it to a buffer +* When the next key comes in, check if it is subscribed and blocked +* If it is, then purge the buffer +* If it is not, play back the buffered extended key code and then play back the unblocked key + +Del is a good example: +If Del (Above arrow keys, not on Numpad) is pressed while NumLock is off, it sends an Extended LCtrl, then the Pause Key