[EMAIL PROTECTED] (Lars Gullik Bjønnes) writes:
| "Garst R. Reese" <[EMAIL PROTECTED]> writes:
|
| | Workarea event: KEYBOARD
| | WorkArea: Key is `' [0]
| | WorkArea: Keysym is `Multi_key' [65312]
| | Workarea event: KEYBOARD
| | WorkArea: Key is `' [0]
| | WorkArea: Keysym is `c' [99]
| | Workarea event: KEYBOARD
| | WorkArea: Key is `' [0]
| | WorkArea: Keysym is `' [0]
| | Workarea event: KEYBOARD
| | WorkArea: Key is `copyright' [169]
| | WorkArea: Keysym is `' [0]
| | Using keysym [B]
| | Workarea Diff: 2830209853
| | KeySym is copyright[169] State is [1]
| | action first set to [-1]
| | meta_fake_bit is [0]
| | action now set to [-1]
| | Key [-1][S-copyright]
| | Removing modifiers...
| | Action now set to [87]
| | TmpKeysym [0]
| | SelfInsert arg[]
| | ----------------------------------
| | But the copyright symbol never shows up.
| | Nothing else in compose worked either.
| | Garst
|
| The log looks correct...
|
| I have to investigate this. Will do after the weekend.
I know what goes wrong, but I am not sure how to fix it.
the problem is that when Compose-key is used to create "copyright":
compose+c+o the correct keysym is passed to lyx, the correct
lyx-action is beeing handled: action == LFUN_SELFINSERT, but now we
get the problem...
We are only passed the "copyright" keysym, with state set to 0. And to
"self-insert" the keysym we need the glyph/symbol behind the keysym
'©' and to get there we use XKeysymToKeycode and then XLookupString to
get the glyph/symbol.... but since we don't have the correct state we
end up getting the wrong keysym "stored" in the temp. XKeyEvent
struct... and we end up getting a 'c' on output...
If we knew the correct state that would produce "copyright" for the
found keycode, then no problem..., except there there need not really
be a keycode for this keysym at all...
So the question is really: How to get from keysym "copyright" to char
'©'
and I now see that we have some more problems as well...
I'll continue looking at this.
--
Lgb