xbmc/xbmc — pull request #5624 by zzattack (2014-11-01 15:35:51+00:00)
Title: [buttontranslator] Group joystick keymaps by family

A great amount of clutter in the keymaps is due to having to repeat each controller name for each action window. This is most visible in the Xbox 360 keymap where over 1000 lines are spent on repeating the same list of joystick names.

The first of these patches allows controllers to be grouped by "joystick family". We can replace a keymap extract may have looked like this:

```xml

joy type 1 vendor B
joy type 1 vendor C
Home

joy type 1 vendor B
joy type 1 vendor C
Highlight

```
With this:
```xml

joy type 1 vendor A
joy type 1 vendor B
joy type 1 vendor C

Home

Highlight

```
I've also made sure that keymaps with the old format are automatically grouped as a family in CButtonTranslator. For large keymaps this saves some memory since the the window mapping isn't saved once per altname, but once per family.

db5b10c changes CJoystick for the minor change in `CButtonTranslator`s signature.

ff4dc77 finally uses the new button translator ability to shave about 1000 lines off the xbox 360 keymap, and synchronizes the controller family with the controller names [known to xpad](https://github.com/torvalds/linux/blob/master/drivers/input/joystick/xpad.c#L120).