"Capslockstate on" is keeping keys from being detected by script.

Get help with using AutoHotkey (v1.1 and older) and its commands and hotkeys
Quaverly
Posts: 1
Joined: 08 Feb 2023, 04:36

"Capslockstate on" is keeping keys from being detected by script.

Post by Quaverly » 08 Feb 2023, 04:39

i'm using s as an example, but it's the same for any key.

first this part of my script runs:

Code: Select all

CapLabel:
    SetCapsLockState, On
    Toggle_Capslock := 1
Return


#If (Toggle_CapsLock = 1)
    SendCapitalLetters:
        SetCapsLockState, off
        Toggle_CapsLock := 0
    Return
#If

then i press s:

Code: Select all

14  03A    i    d    0.00    CapsLock           
14  03A     i    u    0.00    CapsLock  
53  01F    h    d    0.19    s                  
14  03A    i    d    0.02    CapsLock           
14  03A    i    u    0.00    CapsLock           
44  020    h    d    0.05    d                  
46  021    h    d    0.05    f                  
08  00E    i    d    0.00    Backspace          
08  00E    i    u    0.00    Backspace          
08  00E    i    d    0.00    Backspace          
08  00E    i    u    0.00    Backspace          
0D  01C    i    d    0.00    Enter              
0D  01C    i    u    0.00    Enter              
53  01F         u    0.01    s 

i have an s_toggle:

Code: Select all

global s_toggle := 0
global d_toggle := 0
global f_toggle := 0
i try to toggle it:

Code: Select all

~CapsLock & s::
~*$+s::
~*$s::
  if (new_toggle) {
      s_toggle := 1
  }
  Return
~*$d::
  if (new_toggle) {
      d_toggle := 1
  }
  Return
~*$f::
  if (new_toggle) {
      f_toggle := 1
  }
  Return

i try to use it:

Code: Select all

    If (s_toggle = 1) && (d_toggle = 1) && (f_toggle = 1) && (text_toggle = 0)
    {
    toggle_prior = 1
    }
...but s_toggle was never toggled on:

Code: Select all

987: Gosub,CapLabel
471: SetCapslockState,On
472: Toggle_CapsLock := 1
473: caps_tracker := 1
474: Return
988: }
169: Return (0.66)
477: if (Toggle_CapsLock = 1)  
479: SetCapslockState,off
480: Toggle_CapsLock := 0
481: Return (0.06)
477: if (Toggle_CapsLock = 1)  
298: if (new_toggle)  
299: d_toggle := 1
300: }
301: Return (0.05)
477: if (Toggle_CapsLock = 1)  
303: if (new_toggle)  
304: f_toggle := 1
305: }
306: Return
[Mod edit: [code][/code] tags added.]
----
Any help is appreciated!

User avatar
mikeyww
Posts: 26882
Joined: 09 Sep 2014, 18:38

Re: "Capslockstate on" is keeping keys from being detected by script.

Post by mikeyww » 08 Feb 2023, 06:33

Welcome to this AutoHotkey forum!

You might want to post the script that you are using.

You don't need a variable to track a key state, because you can use GetKeyState() instead.

Post Reply

Return to “Ask for Help (v1)”