created input devices to allow easy multi-key events and more uniform event objects