Comment 16 for bug 940927

Revision history for this message
Changwoo Ryu (cwryu) wrote :

First, there's no point discussing here whether using right Alt as Korean toggle key is good or not. Lots of manufacturers have made hardwares like that so nobody can't change that.

So, I am actually the one who wrote the Korean keyboards XKB definition. In this case keycode is same as Alt(108) but keysym is "Hangul". It SHOULD work. I think the problem is that compiz handles shortcuts based on X keycodes, not ksysyms. After searching for a while, I'm almost certain that this line of code is the problem.

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/unity/raring/view/head:/launcher/LauncherController.cpp#L1162

Some keyboards with "level3" key on the right Alt seem to avoid this problem by overriding its modifier map because level3 key is a modifier key. like this:

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/xkeyboard-config/raring/view/head:/symbols/level3#L13

But Korean toggle key can't be defined like this because it's not a modifier key.

So the solution is, to fix the compiz code so it use Keysym instead of Keycode. But it requires some study of the code and might trigger some side effects. I'm giving up here. :P Any workaround idea is welcome to fix this by modifying the Korean XKB definition. But I'm not sure there's one.