2010/1/14 Vladimir Berezenko <span dir="ltr"><<a href="mailto:qmaster@rambler.ru">qmaster@rambler.ru</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
÷ þÔ×, 14/01/2010 × 17:28 +0100, Michal Brzozowski ÐÉÛÅÔ:<br>
<div class="im"><br>
> I don't think you need to change the code, at least it was designed so<br>
> that you don't have to. Where am I checking shift and capslock in the<br>
> code?<br>
<br>
</div>keymap.cpp:80<br>
<br>
if (first == "shift" && action!="capslock")<br>
š škeys[GetFunId("capslock")].push_back(k);<br>
<div><div></div><div class="h5"><br><br></div></div></blockquote><div>Ok, sorry, I forgot about it (it's been a while since I've written that part).<br><br>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.<br>
<br>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.<br>
<br>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".<br><br>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.<br>
</div></div><br>