Kodi Community Forum
[split] Peripheral Input Documentation - Printable Version

Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Game support (https://forum.kodi.tv/forumdisplay.php?fid=292)
--- Thread: [split] Peripheral Input Documentation (/showthread.php?tid=225126)

[split] Peripheral Input Documentation - garbear - 2015-04-21

EDIT: See updated documentation at http://forum.kodi.tv/showthread.php?tid=230276

The peripheral input system allows keyboards and game controllers to control Kodi, game add-ons, and button mapping utilities. The documentation is a series of procedures:

1. Scanning keyboards and joysticks


2. Mapping a button


3. Mapping a keyboard key


4. Handling joystick event

Joystick events are mapped to virtual game controller (using button map data). Controller input is then:
* sent to a game add-on, or
* converted to an action and sent to Kodi


5. Handling keyboard events

Keyboards are abstracted as joysticks with many buttons so that joystick input handlers can be re-used. Kodi input is handled elsewhere, so keyboard input is only sent to game add-ons.


The full system in all its glory


EDIT: Split thread, updated diagrams

RE: Input - zag - 2015-04-21

Wow a developer who actually documents some stuff, nice Wink

RE: Input - Mettbrot - 2015-04-21

What do they tell ya? There's gold at the end of a rainbow? Smile Looks like the truth to me.. Awesome work!

RE: [split] Peripheral Input Documentation - garbear - 2015-04-23

split thread, this documentation should be easier to find

RE: [split] Peripheral Input Documentation - sarbes - 2015-04-24

Out of curiosity: how do you manage features like rumble or force feedback?

RE: [split] Peripheral Input Documentation - garbear - 2015-06-23

Rumble is easy, all you gotta do is reverse some arrows in some of these flow charts.


Instead of input events flowing from the joystick to the game add-on, rumble events would flow from the game add-on to the joystick.

This forum uses Lukasz Tkacz MyBB addons.