Skip to content

Instantly share code, notes, and snippets.

@jrw254
Created May 19, 2020 22:46
Show Gist options
  • Select an option

  • Save jrw254/8de4e1442a0fef34fc50893c7279a1c5 to your computer and use it in GitHub Desktop.

Select an option

Save jrw254/8de4e1442a0fef34fc50893c7279a1c5 to your computer and use it in GitHub Desktop.
Basically just wanted some double tap key's and buttons available when I needed them so I just made this script for that purpose. Prob gonna be using it to show as examples when the time arises.
#NoEnv
#Persistent
#SingleInstance, Force
; ++++++++++++++++++ Script Info ++++++++++++++++++ ;
; v.01 - DoubleTapStation 5/18/2020 ;
; By: JRW254 aka Sabedth On Reddit ;
; ;
; The Idea of this script is to have all the key's bound ;
; to be able to be double tapped. The toggle suspend ;
; will give normal command back to the keyboard. ;
; ;
; 1.Ctrl+Home: Brings up GUI ;
; 2.Double Tap End: Exits the Script ;
; 3.Ctrl+End: Supends the Script ;
; ;
; ;
; You can adjust the 200 mil sec time "200 ? "off" : -200" ;
; That way you can get the delay that works best for you. ;
; ;
; GUI included to show a visial representation of the key's ;
; as well as giving a working example of tying to a button. ;
; ;
; ==>More Info Can Be Found At the End Of This Document<== ;
; ;
; ;
; ++++++++++++++++++ Script Info ++++++++++++++++++ ;
/* !!!Here is the Example Template code for each doube tap key!!!
$<put your key here>::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_<put your key here>, %t% ; Change Here
if (t == "off")
goto double_<put your key here> ; Change Here
return
tappedkey_<put your key here>: ; Change Here
Send {<put your key here>} ; Change Here
return
double_<put your key here>: ; Change Here
MsgBox <put your key here> Key Activated ; Change This area with the code you want to run
Return
}
*/
/* !!!Clean Templet code for doube tap key!!!
$::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_, %t% ; Change Here
if (t == "off")
goto double_ ; Change Here
return
tappedkey_: ; Change Here
Send {} ; Change Here
return
double_: ; Change Here
MsgBox Key Activated ; Change Here
Return
}
*/
;=== Start Here ===;
; NOTE: Don't forget that your code will replace the lines with a MsgBox.
; Be sure that you replace the MsgBox code with whatever code you want to execute.
;==================;
; ++++++++++++++++++ Number Pad Doubles ++++++++++++++++++ ;
{
$Numpad0:: ; Change Here
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Numpad0, %t%
if (t == "off")
goto double_Num0 ; Change Here
return
tappedkey_Numpad0: ; Change Here
Send {Numpad0} ; Change Here
return
double_Num0: ; Change Here
MsgBox Num0 Activated ; Change Here
Return
}
$NumpadDot:: ; Change Here
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_NumpadDot, %t% ; Change Here
if (t == "off")
goto double_NumDot ; Change Here
return
tappedkey_NumpadDot: ; Change Here
Send {NumpadDot} ; Change Here
return
double_NumDot: ; Change Here
MsgBox NumDot Activated ; Change Here
Return
}
$NumpadEnter::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_NumpadEnter, %t% ; Change Here
if (t == "off")
goto double_NumEnter ; Change Here
return
tappedkey_NumpadEnter: ; Change Here
Send {NumpadEnter} ; Change Here
return
double_NumEnter: ; Change Here
MsgBox NumEnter Activated ; Change Here
Return
}
$Numpad1::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Numpad1, %t% ; Change Here
if (t == "off")
goto double_Num1 ; Change Here
return
tappedkey_Numpad1: ; Change Here
Send {Numpad1} ; Change Here
return
double_Num1: ; Change Here
MsgBox Num1 Activated ; Change Here
Return
}
$Numpad2::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Numpad2, %t% ; Change Here
if (t == "off")
goto double_Num2 ; Change Here
return
tappedkey_Numpad2: ; Change Here
Send {Numpad2} ; Change Here
return
double_Num2: ; Change Here
MsgBox Num2 Activated ; Change Here
Return
}
$Numpad3::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Numpad3, %t% ; Change Here
if (t == "off")
goto double_Num3 ; Change Here
return
tappedkey_Numpad3: ; Change Here
Send {Numpad3} ; Change Here
return
double_Num3: ; Change Here
MsgBox Num3 Activated ; Change Here
Return
}
$Numpad4::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Numpad4, %t% ; Change Here
if (t == "off")
goto double_Num4 ; Change Here
return
tappedkey_Numpad4: ; Change Here
Send {Numpad4} ; Change Here
return
double_Num4: ; Change Here
MsgBox Num4 Activated ; Change Here
Return
}
$Numpad5::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Numpad5, %t% ; Change Here
if (t == "off")
goto double_Num5 ; Change Here
return
tappedkey_Numpad5: ; Change Here
Send {Numpad5} ; Change Here
return
double_Num5: ; Change Here
MsgBox Num5 Activated ; Change Here
Return
}
$Numpad6::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Numpad6, %t% ; Change Here
if (t == "off")
goto double_Num6 ; Change Here
return
tappedkey_Numpad6: ; Change Here
Send {Numpad6} ; Change Here
return
double_Num6: ; Change Here
MsgBox Num6 Activated ; Change Here
Return
}
$Numpad7::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Numpad7, %t% ; Change Here
if (t == "off")
goto double_Num7 ; Change Here
return
tappedkey_Numpad7: ; Change Here
Send {Numpad7} ; Change Here
return
double_Num7: ; Change Here
MsgBox Num7 Activated ; Change Here
Return
}
$Numpad8::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Numpad8, %t% ; Change Here
if (t == "off")
goto double_Num8 ; Change Here
return
tappedkey_Numpad8: ; Change Here
Send {Numpad8} ; Change Here
return
double_Num8: ; Change Here
MsgBox Num8 Activated ; Change Here
Return
}
$Numpad9::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Numpad9, %t% ; Change Here
if (t == "off")
goto double_Num9 ; Change Here
return
tappedkey_Numpad9: ; Change Here
Send {Numpad9} ; Change Here
return
double_Num9: ; Change Here
MsgBox Num9 Activated ; Change Here
Return
}
$NumpadAdd::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_NumpadAdd, %t% ; Change Here
if (t == "off")
goto double_NumAdd ; Change Here
return
tappedkey_NumpadAdd: ; Change Here
Send {NumpadAdd} ; Change Here
return
double_NumAdd: ; Change Here
MsgBox NumAdd Activated ; Change Here
Return
}
$NumpadSub::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_NumpadSub, %t% ; Change Here
if (t == "off")
goto double_NumSub ; Change Here
return
tappedkey_NumpadSub: ; Change Here
Send {NumpadSub} ; Change Here
return
double_NumSub: ; Change Here
MsgBox NumSub Activated ; Change Here
Return
}
$NumpadMult::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_NumpadMult, %t% ; Change Here
if (t == "off")
goto double_NumMult ; Change Here
return
tappedkey_NumpadMult: ; Change Here
Send {NumpadMult} ; Change Here
return
double_NumMult: ; Change Here
MsgBox NumMult Activated ; Change Here
Return
}
$NumpadDiv::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_NumpadDiv, %t% ; Change Here
if (t == "off")
goto double_NumDiv ; Change Here
return
tappedkey_NumpadDiv: ; Change Here
Send {NumpadDiv} ; Change Here
return
double_NumDiv: ; Change Here
MsgBox NumDiv Activated ; Change Here
Return
}
}
; ++++++++++++++++++ Keynumbers 1-0 Doubles ++++++++++++++++++ ;
{
$1::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_1, %t% ; Change Here
if (t == "off")
goto double_1 ; Change Here
return
tappedkey_1: ; Change Here
Send {1} ; Change Here
return
double_1: ; Change Here
MsgBox 1 Key Activated ; Change Here
Return
}
$2::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_2, %t% ; Change Here
if (t == "off")
goto double_2 ; Change Here
return
tappedkey_2: ; Change Here
Send {2} ; Change Here
return
double_2: ; Change Here
MsgBox 2 Key Activated ; Change Here
Return
}
$3::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_3, %t% ; Change Here
if (t == "off")
goto double_3 ; Change Here
return
tappedkey_3: ; Change Here
Send {3} ; Change Here
return
double_3: ; Change Here
MsgBox 3 Key Activated ; Change Here
Return
}
$4::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_4, %t% ; Change Here
if (t == "off")
goto double_4 ; Change Here
return
tappedkey_4: ; Change Here
Send {4} ; Change Here
return
double_4: ; Change Here
MsgBox 4 Key Activated ; Change Here
Return
}
$5::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_5, %t% ; Change Here
if (t == "off")
goto double_5 ; Change Here
return
tappedkey_5: ; Change Here
Send {5} ; Change Here
return
double_5: ; Change Here
MsgBox 5 Key Activated ; Change Here
Return
}
$6::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_6, %t% ; Change Here
if (t == "off")
goto double_6 ; Change Here
return
tappedkey_6: ; Change Here
Send {6} ; Change Here
return
double_6: ; Change Here
MsgBox 6 Key Activated ; Change Here
Return
}
$7::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_7, %t% ; Change Here
if (t == "off")
goto double_7 ; Change Here
return
tappedkey_7: ; Change Here
Send {7} ; Change Here
return
double_7: ; Change Here
MsgBox 7 Key Activated ; Change Here
Return
}
$8::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_8, %t% ; Change Here
if (t == "off")
goto double_8 ; Change Here
return
tappedkey_8: ; Change Here
Send {8} ; Change Here
return
double_8: ; Change Here
MsgBox 8 Key Activated ; Change Here
Return
}
$9::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_9, %t% ; Change Here
if (t == "off")
goto double_9 ; Change Here
return
tappedkey_9: ; Change Here
Send {9} ; Change Here
return
double_9: ; Change Here
MsgBox 9 Key Activated ; Change Here
Return
}
$0::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_0, %t% ; Change Here
if (t == "off")
goto double_0 ; Change Here
return
tappedkey_0: ; Change Here
Send {0} ; Change Here
return
double_0: ; Change Here
MsgBox 0 Key Activated ; Change Here
Return
}
}
; ++++++++++++++++++ Tab|PUp|PDw|Home|Ins|Del|BackSpace Doubles ++++++++++++++++++ ;
{
$Tab::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Tab, %t% ; Change Here
if (t == "off")
goto double_Tab ; Change Here
return
tappedkey_Tab: ; Change Here
Send {Tab} ; Change Here
return
double_Tab: ; Change Here
MsgBox Tab Key Activated ; Change Here
Return
}
$PGUP::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_PGUP, %t% ; Change Here
if (t == "off")
goto double_PGUP ; Change Here
return
tappedkey_PGUP: ; Change Here
Send {PGUP} ; Change Here
return
double_PGUP: ; Change Here
MsgBox PageUp Key Activated ; Change Here
Return
}
$Home::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Home, %t% ; Change Here
if (t == "off")
goto double_Home ; Change Here
return
tappedkey_Home: ; Change Here
Send {Home} ; Change Here
return
double_Home: ; Change Here
MsgBox Home Key Activated ; Change Here
Return
}
$PGDN::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_PGDN, %t% ; Change Here
if (t == "off")
goto double_PGDN ; Change Here
return
tappedkey_PGDN: ; Change Here
Send {PGDN} ; Change Here
return
double_PGDN: ; Change Here
MsgBox PageDown Key Activated ; Change Here
Return
}
$Insert::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Insert, %t% ; Change Here
if (t == "off")
goto double_Insert ; Change Here
return
tappedkey_Insert: ; Change Here
Send {Insert} ; Change Here
return
double_Insert: ; Change Here
MsgBox Insert Key Activated ; Change Here
Return
}
$Delete::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Delete, %t% ; Change Here
if (t == "off")
goto double_Delete ; Change Here
return
tappedkey_Delete: ; Change Here
Send {Delete} ; Change Here
return
double_Delete: ; Change Here
MsgBox Delete Key Activated ; Change Here
Return
}
$BackSpace::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_BackSpace, %t% ; Change Here
if (t == "off")
goto double_BackSpace ; Change Here
return
tappedkey_BackSpace: ; Change Here
Send {BackSpace} ; Change Here
return
double_BackSpace: ; Change Here
MsgBox BackSpace Key Activated ; Change Here
Return
}
}
; ++++++++++++++++++ F1-12 Doubles ++++++++++++++++++ ;
{
$F1::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F1, %t% ; Change Here
if (t == "off")
goto double_F1 ; Change Here
return
tappedkey_F1: ; Change Here
Send {F1} ; Change Here
return
double_F1: ; Change Here
MsgBox F1 Key Activated ; Change Here
Return
}
$F2::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F2, %t% ; Change Here
if (t == "off")
goto double_F2 ; Change Here
return
tappedkey_F2: ; Change Here
Send {F2} ; Change Here
return
double_F2: ; Change Here
MsgBox F2 Key Activated ; Change Here
Return
}
$F3::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F3, %t% ; Change Here
if (t == "off")
goto double_F3 ; Change Here
return
tappedkey_F3: ; Change Here
Send {F3} ; Change Here
return
double_F3: ; Change Here
MsgBox F3 Key Activated ; Change Here
Return
}
$F4::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F4, %t% ; Change Here
if (t == "off")
goto double_F4 ; Change Here
return
tappedkey_F4: ; Change Here
Send {F4} ; Change Here
return
double_F4: ; Change Here
MsgBox F4 Key Activated ; Change Here
Return
}
$F5::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F5, %t% ; Change Here
if (t == "off")
goto double_F5 ; Change Here
return
tappedkey_F5: ; Change Here
Send {F5} ; Change Here
return
double_F5: ; Change Here
MsgBox F5 Key Activated ; Change Here
Return
}
$F6::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F6, %t% ; Change Here
if (t == "off")
goto double_F6 ; Change Here
return
tappedkey_F6: ; Change Here
Send {F6} ; Change Here
return
double_F6: ; Change Here
MsgBox F6 Key Activated ; Change Here
Return
}
$F7::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F7, %t% ; Change Here
if (t == "off")
goto double_F7 ; Change Here
return
tappedkey_F7: ; Change Here
Send {F7} ; Change Here
return
double_F7: ; Change Here
MsgBox F7 Key Activated ; Change Here
Return
}
$F8::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F8, %t% ; Change Here
if (t == "off")
goto double_F8 ; Change Here
return
tappedkey_F8: ; Change Here
Send {F8} ; Change Here
return
double_F8: ; Change Here
MsgBox F8 Key Activated ; Change Here
Return
}
$F9::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F9, %t% ; Change Here
if (t == "off")
goto double_F9 ; Change Here
return
tappedkey_F9: ; Change Here
Send {F9} ; Change Here
return
double_F9: ; Change Here
MsgBox F9 Key Activated ; Change Here
Return
}
$F10::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F10, %t% ; Change Here
if (t == "off")
goto double_F10 ; Change Here
return
tappedkey_F10: ; Change Here
Send {F10} ; Change Here
return
double_F10: ; Change Here
MsgBox F10 Key Activated ; Change Here
Return
}
$F11::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F11, %t% ; Change Here
if (t == "off")
goto double_F11 ; Change Here
return
tappedkey_F11: ; Change Here
Send {F11} ; Change Here
return
double_F11: ; Change Here
MsgBox F11 Key Activated ; Change Here
Return
}
$F12::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_F12, %t% ; Change Here
if (t == "off")
goto double_F12 ; Change Here
return
tappedkey_F12: ; Change Here
Send {F12} ; Change Here
return
double_F12: ; Change Here
MsgBox F12 Key Activated ; Change Here
Return
}
}
; ++++++++++++++++++ Row One Q-P Doubles ++++++++++++++++++ ;
{
$q::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_q, %t% ; Change Here
if (t == "off")
goto double_q ; Change Here
return
tappedkey_q: ; Change Here
Send {q} ; Change Here
return
double_q: ; Change Here
MsgBox Q Key Activated ; Change Here
Return
}
$w::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_w, %t% ; Change Here
if (t == "off")
goto double_w ; Change Here
return
tappedkey_w: ; Change Here
Send {w} ; Change Here
return
double_w: ; Change Here
MsgBox W Key Activated ; Change Here
Return
}
$e::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_e, %t% ; Change Here
if (t == "off")
goto double_e ; Change Here
return
tappedkey_e: ; Change Here
Send {e} ; Change Here
return
double_e: ; Change Here
MsgBox E Key Activated ; Change Here
Return
}
$r::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_r, %t% ; Change Here
if (t == "off")
goto double_r ; Change Here
return
tappedkey_r: ; Change Here
Send {r} ; Change Here
return
double_r: ; Change Here
MsgBox R Key Activated ; Change Here
Return
}
$t::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_t, %t% ; Change Here
if (t == "off")
goto double_t ; Change Here
return
tappedkey_t: ; Change Here
Send {t} ; Change Here
return
double_t: ; Change Here
MsgBox T Key Activated ; Change Here
Return
}
$y::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_y, %t% ; Change Here
if (t == "off")
goto double_y ; Change Here
return
tappedkey_y: ; Change Here
Send {y} ; Change Here
return
double_y: ; Change Here
MsgBox Y Key Activated ; Change Here
Return
}
$u::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_u, %t% ; Change Here
if (t == "off")
goto double_u ; Change Here
return
tappedkey_u: ; Change Here
Send {u} ; Change Here
return
double_u: ; Change Here
MsgBox U Key Activated ; Change Here
Return
}
$i::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_i, %t% ; Change Here
if (t == "off")
goto double_i ; Change Here
return
tappedkey_i: ; Change Here
Send {i} ; Change Here
return
double_i: ; Change Here
MsgBox I Key Activated ; Change Here
Return
}
$o::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_o, %t% ; Change Here
if (t == "off")
goto double_o ; Change Here
return
tappedkey_o: ; Change Here
Send {o} ; Change Here
return
double_o: ; Change Here
MsgBox O Key Activated ; Change Here
Return
}
$p::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_p, %t% ; Change Here
if (t == "off")
goto double_p ; Change Here
return
tappedkey_p: ; Change Here
Send {p} ; Change Here
return
double_p: ; Change Here
MsgBox P Key Activated ; Change Here
Return
}
}
; ++++++++++++++++++ Row Two A-S Doubles ++++++++++++++++++ ;
{
$a::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_a, %t% ; Change Here
if (t == "off")
goto double_a ; Change Here
return
tappedkey_a: ; Change Here
Send {a} ; Change Here
return
double_a: ; Change Here
MsgBox A Key Activated ; Change Here
Return
}
$s::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_s, %t% ; Change Here
if (t == "off")
goto double_s ; Change Here
return
tappedkey_s: ; Change Here
Send {s} ; Change Here
return
double_s: ; Change Here
MsgBox S Key Activated ; Change Here
Return
}
$d::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_d, %t% ; Change Here
if (t == "off")
goto double_d ; Change Here
return
tappedkey_d: ; Change Here
Send {d} ; Change Here
return
double_d: ; Change Here
MsgBox D Key Activated ; Change Here
Return
}
$f::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_f, %t% ; Change Here
if (t == "off")
goto double_f ; Change Here
return
tappedkey_f: ; Change Here
Send {f} ; Change Here
return
double_f: ; Change Here
MsgBox F Key Activated ; Change Here
Return
}
$g::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_g, %t% ; Change Here
if (t == "off")
goto double_g ; Change Here
return
tappedkey_g: ; Change Here
Send {g} ; Change Here
return
double_g: ; Change Here
MsgBox G Key Activated ; Change Here
Return
}
$h::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_h, %t% ; Change Here
if (t == "off")
goto double_h ; Change Here
return
tappedkey_h: ; Change Here
Send {h} ; Change Here
return
double_h: ; Change Here
MsgBox H Key Activated ; Change Here
Return
}
$j::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_j, %t% ; Change Here
if (t == "off")
goto double_j ; Change Here
return
tappedkey_j: ; Change Here
Send {j} ; Change Here
return
double_j: ; Change Here
MsgBox J Key Activated ; Change Here
Return
}
$k::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_k, %t% ; Change Here
if (t == "off")
goto double_k ; Change Here
return
tappedkey_k: ; Change Here
Send {k} ; Change Here
return
double_k: ; Change Here
MsgBox K Key Activated ; Change Here
Return
}
$l::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_l, %t% ; Change Here
if (t == "off")
goto double_l ; Change Here
return
tappedkey_l: ; Change Here
Send {l} ; Change Here
return
double_l: ; Change Here
MsgBox L Key Activated ; Change Here
Return
}
}
; ++++++++++++++++++ Row Three Z-M Doubles ++++++++++++++++++ ;
{
$z::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_z, %t% ; Change Here
if (t == "off")
goto double_z ; Change Here
return
tappedkey_z: ; Change Here
Send {z} ; Change Here
return
double_z: ; Change Here
MsgBox Z Key Activated ; Change Here
Return
}
$x::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_x, %t% ; Change Here
if (t == "off")
goto double_x ; Change Here
return
tappedkey_x: ; Change Here
Send {x} ; Change Here
return
double_x: ; Change Here
MsgBox X Key Activated ; Change Here
Return
}
$c::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_c, %t% ; Change Here
if (t == "off")
goto double_c ; Change Here
return
tappedkey_c: ; Change Here
Send {c} ; Change Here
return
double_c: ; Change Here
MsgBox C Key Activated ; Change Here
Return
}
$v::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_v, %t% ; Change Here
if (t == "off")
goto double_v ; Change Here
return
tappedkey_v: ; Change Here
Send {v} ; Change Here
return
double_v: ; Change Here
MsgBox V Key Activated ; Change Here
Return
}
$b::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_b, %t% ; Change Here
if (t == "off")
goto double_b ; Change Here
return
tappedkey_b: ; Change Here
Send {b} ; Change Here
return
double_b: ; Change Here
MsgBox B Key Activated ; Change Here
Return
}
$n::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_n, %t% ; Change Here
if (t == "off")
goto double_n ; Change Here
return
tappedkey_n: ; Change Here
Send {n} ; Change Here
return
double_n: ; Change Here
MsgBox N Key Activated ; Change Here
Return
}
$m::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_m, %t% ; Change Here
if (t == "off")
goto double_m ; Change Here
return
tappedkey_m: ; Change Here
Send {m} ; Change Here
return
double_m: ; Change Here
MsgBox M Key Activated ; Change Here
Return
}
}
; ++++++++++++++++++ Remaining Key(s) Doubles ++++++++++++++++++ ;
{
$[::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_[, %t% ; Change Here
if (t == "off")
goto double_[ ; Change Here
return
tappedkey_[: ; Change Here
Send {[} ; Change Here
return
double_[: ; Change Here
MsgBox [ Key Activated ; Change Here
Return
}
$]::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_], %t% ; Change Here
if (t == "off")
goto double_] ; Change Here
return
tappedkey_]: ; Change Here
Send {]} ; Change Here
return
double_]: ; Change Here
MsgBox ] Key Activated ; Change Here
Return
}
$\::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_\, %t% ; Change Here
if (t == "off")
goto double_\ ; Change Here
return
tappedkey_\: ; Change Here
Send {\} ; Change Here
return
double_\: ; Change Here
MsgBox \ Key Activated ; Change Here
Return
}
$PrintScreen::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_PrintScreen, %t% ; Change Here
if (t == "off")
goto double_PrintScreen ; Change Here
return
tappedkey_PrintScreen: ; Change Here
Send {PrintScreen} ; Change Here
return
double_PrintScreen: ; Change Here
MsgBox PrintScreen Key Activated ; Change Here
Return
}
$'::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_', %t% ; Change Here
if (t == "off")
goto double_' ; Change Here
return
tappedkey_': ; Change Here
Send {'} ; Change Here
return
double_': ; Change Here
MsgBox ' Key Activated ; Change Here
Return
}
$;::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_;, %t% ; Change Here
if (t == "off")
goto double_; ; Change Here
return
tappedkey_;: ; Change Here
Send {;} ; Change Here
return
double_;: ; Change Here
MsgBox ";" Key Activated ; Change Here
Return
}
$/::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_/, %t% ; Change Here
if (t == "off")
goto double_/ ; Change Here
return
tappedkey_/: ; Change Here
Send {/} ; Change Here
return
double_/: ; Change Here
MsgBox / Key Activated ; Change Here
Return
}
$.::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_., %t% ; Change Here
if (t == "off")
goto double_. ; Change Here
return
tappedkey_.: ; Change Here
Send {.} ; Change Here
return
double_.: ; Change Here
MsgBox . Key Activated ; Change Here
Return
}
}
; ++++++++++++++++++ Arrow Keys Doubles ++++++++++++++++++ ;
{
$Up::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Up, %t% ; Change Here
if (t == "off")
goto double_Up ; Change Here
return
tappedkey_Up: ; Change Here
Send {Up} ; Change Here
return
double_Up: ; Change Here
MsgBox Up Key Activated ; Change Here
Return
}
$Down::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Down, %t% ; Change Here
if (t == "off")
goto double_Down ; Change Here
return
tappedkey_Down: ; Change Here
Send {Down} ; Change Here
return
double_Down: ; Change Here
MsgBox Down Key Activated ; Change Here
Return
}
$Left::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Left, %t% ; Change Here
if (t == "off")
goto double_Left ; Change Here
return
tappedkey_Left: ; Change Here
Send {Left} ; Change Here
return
double_Left: ; Change Here
MsgBox Left Key Activated ; Change Here
Return
}
$Right::
{
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_Right, %t% ; Change Here
if (t == "off")
goto double_Right ; Change Here
return
tappedkey_Right: ; Change Here
Send {Right} ; Change Here
return
double_Right: ; Change Here
MsgBox Right Key Activated ; Change Here
Return
}
}
; ++++++++++++++++++ GUI Here ++++++++++++++++++ ;
^Home::
GUI New
Gui, Color, 708090 ; slate gray
Gui, Add, Button, Default, UpArrow
Gui, Add, Button, x+5, DownArrow
Gui, Add, Button, xm, LeftArrow
Gui, Add, Button, x+5, RightArrow
Gui, Show, Center
return
{ ; Gui Buttons Here
ButtonUpArrow:
SendLevel, 1
Send {Up Down}{Up Up}
Send {Up Down}{Up Up}
return
ButtonDownArrow:
SendLevel, 1
Send, {Down Down}{Down Up}
Send, {Down Down}{Down Up}
return
ButtonLeftArrow:
SendLevel, 1
Send, {Left Down}{Left Up}
Send, {Left Down}{Left Up}
return
ButtonRightArrow:
SendLevel, 1
Send, {Right Down}{Right Up}
Send, {Right Down}{Right Up}
return
}
;=== End Here ===;
^End:: ; Toggles the script to revert back to normal keyboard
Suspend,Toggle
MsgBox DTS Toggle
Return
$End:: ; Kills the script
{ ; $End Kill Code Here
t := A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey 200 ? "off" : -200
settimer, tappedkey_End, %t% ; Change Here
if (t == "off")
goto double_End ; Change Here
return
tappedkey_End: ; Change Here
Send {End} ; Change Here
return
double_End: ; Change Here
MsgBox Double Tap Station Exited. Restart script manually. ; Change Here
ExitApp
Return
}
/* Extra Info Below
; ++++++++++++++++++ Extra Info ++++++++++++++++++ ;
; v.01 - DoubleTapStation 5/18/2020 ;
; By: JRW254 aka Sabedth On Reddit ;
; ;
; This script is created simply as a templet for future ;
; use. Also, this will act as a use case example. There ;
; are plenty of other scripts out there, but they require ;
; a library to use. However, I encourage you try those out ;
; for a more robust experince. I just wanted something that ;
; didn't require a library. ;
; ;
; You can also look at the following: ;
; 1. https://github.com/evilC/TapHoldManager ;
; 2. https://autohotkey.com/board/topic/35566-rapidhotkey/ ;
; ;
; Want to learn more about AutoHotKey? ;
; 1. https://www.autohotkey.com/ ;
; 2. https://www.autohotkey.com/boards/index.php ;
; ;
; Appreciate the time you took to read through this. I am ;
; hopeful that you'll want to learn more about AutoHotkey. ;
; Thanks! ;
; ++++++++++++++++++ Have a Nice Day! ++++++++++++++++++ ;
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment