Link user defined methods to user defined keys.

Task
Keyboard macros
You are encouraged to solve this task according to the task description, using any language you may know.

AutoHotkey

<lang AutoHotkey> loop, 200 { TrayTip, counting, %A_Index% press alt-p to pause sleep, 1000 }

!p:: pauseMe() return

!r:: resume() return

pauseMe() { Msgbox, pausing`, press alt-r to resume pause } resume() { TrayTip, resume, resuming, 2 pause, off } </lang> See ahk-viper-mode for a context sensitive vi key bindings example.