i didn't want to strip the loading of keymaps off a FS altogether, my idea was to integrate the most common ones and add that possibility later on again. I compared some existing implementations, and i liked the *BSD code, so I just committed another bunch of changes, which does use much BSD code. The lib now allows stacked maps, meaning that every map is based on the US layout and thus the compiled size is as small as it gets. It also allows a "user" keymap, that can be used for external maps later on.
I also found out that there is a country code of a USB HID
descriptor. The BSDs are using that, and those matches exactly the keymaps i re-used That would make a better default like i currently use (with the issues involved like you mentioned).
There're many other features in there, most of them unused atm (like support for dead keys).
And you're right about the shift+key repeating issue, thats still present on my code. Thanks for explaining.
I really like the integration of libwiikeyboard into libogc. To avoid double work, what do you think about access to my git repo? You could just work on your own branch and we can simply merge back and forth...
EDIT: some stats:
Code: Select all
powerpc-gekko-size lib/wii/libwiikeyboard.a
text data bss dec hex filename
3403 4 0 3407 d4f usbkeyboard.o (ex lib/wii/libwiikeyboard.a)
2720 8 40 2768 ad0 keyboard.o (ex lib/wii/libwiikeyboard.a)
6754 0 0 6754 1a62 ukbdmap.o (ex lib/wii/libwiikeyboard.a)
3197 774 4 3975 f87 wskbdutil.o (ex lib/wii/libwiikeyboard.a