oh, no, it totally doesn't have to! the keypress could emit an object which subclasses String which has an === method set up to be true for :control_x and :ctrl_x and 'x' and anything else along those lines... to_s would return the key thing, to_sym would return the normal long symbol form, and control?/ctrl?, alt?/option?, shift?, .command?/.meta?/.windows?/.tux?/.apple? would all give off booleans.

We could call this object.... Keystroke :)

Reply via email to