The COSMAC VIP had a 16-key hexadecimal keypad, and while modern computers rarely have a keyboard which directly mimics this arrangement, there are many approaches for adapting the input devices which are available to render Chip8 games playable. Many emulators offer custom keyboard or gamepad mappings for each program, and recently Octo has begun to offer "Adaptive Input" options to allow touch-based devices to play games.
It is often desirable to more directly expose the input capabilities of modern machines. This proposal outlines a pair of new instructions for XO-Chip which would expand it with text and pointer input, with room for future expansion. The instructions are as follows:
8NN8 # v0 := poll NN 8XY9 # event vx - vy
As input events occur, the XO-Chip interpreter will store them in a FIFO queue. The
poll instruction pops events from this queue, storing the type code of the event in the fixed register
v0. A type code of zero indicates that no events are currently