It still works exactly as described above using KeyboardEvent. Might be helpful to listen to events so you know what to emulate.
What I'm wondering is if this violates policy.