View Single Post
nicolai's Avatar
Posts: 1,637 | Thanked: 4,424 times | Joined on Apr 2009 @ Germany
#101
From this line
https://gitorious.org/community-ssu/...rer.c#line1846
it appears slide key characters are stored at key->label field
with
1. no key is pressed (line 1857)
at offset 0 and every subsequent key with 4 byte offset.
2. current_slide_key > 1 (line 1829)
at offstet 4 * (key->current_slide_key - 1) % byte_count
3. I am not quite sure what this does (line 1839)

But even if no key was pressed, at key->label[0] is no key char.
The Keyboardlayout I use has a button with a slide key with
12 keys. The first character is not at offset 0 but at offset 56
and the next characters are at offset 56 + 16*x
Whereas this "56" depends on number of slides (bytecount in
structure vkb_key). Using a slide key with 6 keys (bytecount) this offet
is 32. (offset = ((byte_count >> 1) + 1) << 3
But only after loading the vkb the first time. Changing the language,
this memory location holds only garbage.
 

The Following 4 Users Say Thank You to nicolai For This Useful Post: