Search code examples
textautohotkeyinstant

AutoHotKey: read of two underscore keys


One part of my AutoHotKey script should recognize if __ is typed.

Following the AutoHotKey documentation, I've tried:

~__::
  tooltip,hi world
return

and got this error:

Line Text: ~__::
Error: Invalid hotkey.

this shows no errors, but works only for one underscore:

~_::
  tooltip,hi world
return

this shows no errors, but it just clears the __:

:*:__:: 
  tooltip,hi world
return

this shows error Error: Invalid hotkey.:

~:*:__:: 
  tooltip,hi world
return

this shows no errors, but does nothing (Doku: Executehotstring) :

:X:~__::
  tooltip,hi world
return

Solution

  • Here are 4 potential solutions. I have left one working, comment out/uncomment hotkey labels by adding/removing leading semicolons as appropriate.

    The 2 blocks of code are functionally equivalent, and for the 2 alternatives, within each block, b0 prevents automatic backspacing, i.e. the underscores that you typed are not deleted.

    ;:*?:__:: ;deletes the underscores
    :b0*?:__:: ;does not delete the underscores
    SoundBeep
    return
    
    ;note: the X option requires AHK v1.1.28+
    ;:X*?:__::SoundBeep ;deletes the underscores
    ;:Xb0*?:__::SoundBeep ;does not delete the underscores