Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#Persistent #SingleInstance Force global startX, startY, keyMap := {}, tempo := 1.0 ; tempo multiplier ; Build key -> offset map InitKeyMap() { global keyMap keys := ["q","Q","w","W","e","E","r","R","t","T","y","Y","u","U","i","I","o","O","p","P","a","A","s","S","d","D","f","F"] step := 115 Loop % keys.MaxIndex() { key := keys[A_Index] keyMap[key] := (A_Index-1) * step } } ; Hotkey: press F1 to run sequence, make sure to be looking all the way down before pressing F1 ; https://virtualpiano.net/music-sheet-difficulty/super-easy F1:: MouseGetPos, startX, startY InitKeyMap() tempo := 0.4 ; adjust speed: smaller = faster, bigger = slower sheet := "a a s d d s a p o o p a a|pp| a a s d d s a p o o p a p|oo| p p a o p asa o p asa p o p d| a a s d d s a p o o p a p|oo" Loop, Parse, sheet { char := A_LoopField if (char = " ") { Sleep, Round(300 * tempo) ; short pause for space continue } if (char = "|") { Sleep, Round(1000 * tempo) ; wait key (1 sec × tempo) continue } if (keyMap.HasKey(char)) { playKey(char) } } return ; Kill switch F2::ExitApp ; -------- Functions -------- playKey(char) { global startX, startY, keyMap, tempo offset := keyMap[char] ; Reset baseline MouseMove, startX, startY, 0 Sleep, Round(5 * tempo) ; Move up by mapped offset MouseMove, startX, startY - offset, 0 ; Hold mouse for 1 second × tempo Click, Down Sleep, Round(100 * tempo) Click, Up ; Small gap before next note Sleep, Round(200 * tempo) }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)