literki update

Michal Brzozowski rusolis at poczta.fm
Thu Jan 14 18:25:55 CET 2010


2010/1/14 Vladimir Berezenko <qmaster at rambler.ru>

> В Чтв, 14/01/2010 в 17:28 +0100, Michal Brzozowski пишет:
>
> > I don't think you need to change the code, at least it was designed so
> > that you don't have to. Where am I checking shift and capslock in the
> > code?
>
> keymap.cpp:80
>
> if (first == "shift" && action!="capslock")
>    keys[GetFunId("capslock")].push_back(k);
>
>
> Ok, sorry, I forgot about it (it's been a while since I've written that
part).

The capslock mode is special in the sense that it copies all keys from the
shift mode. That's what these 2 lines do. It's so that you don't have to
define every single key in the capslock mode.

The thing that's special about the shift mode is that it returns to normal
mode after a key is pressed. It's impossible to define this purely in the
layout file atm. So your shift_russian mode wouldn't have that property.
This is implemented in the lines 106-108 and 134-137 in keymap.cpp.

So you can change line 107 to sth like if (f == "shift" || f ==
"shift_russian") and it will work. Or just check if the prefix is "shift".

Unfortunately I'm not able to fix this now in the general case (I'll be
travelling for the next few months). If you have an idea for a fix (so you
can define the keep_fun property in the layout file), feel free to release a
new version. I'll be available via email every once in a while if you have
questions, but I might not be reading this list.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openmoko.org/pipermail/community/attachments/20100114/c79d14c7/attachment.htm 


More information about the community mailing list