Hi!
That's pretty specific solution, am I right? So is there some kind of
generalized solution? I'm encountering problems with hungarian layout
henceforward. Maybe there's a howto somewhere? Some docs?
---
fincsi
2009/2/15 Andreas Jansen <ajal...@t-online.de>
> Hi Jan,
>
> I've managed to get all german keys working with following two
> modifications:
>
> 1.) changes in xrdp/lang.c
> Goto section /* german 0x407 */ starting at line 453
> scroll down to "int de_noshift [] = " and replace "0" at row=11 col=7 with
> '<'
> same at "int de_shift[] =" but replace with char '>'
> same at "int de_altgr[] =" but replace with char '|'
>
> 2.) changes in vnc/vnc.c
> after above changes I've had still problems with some Alt-Gr-Chars
> (e.g. "at"-sign, which lays on Alt-Gr+Q on german keyboard)
> After some analyses with "xev" I've come to the conclusion, that we have to
> neutralize a control flag, which is send by the ALT-GR-Key, and that is
> still
> active while pressing the next key. So I've changed vnc.c like this:
> Goto line 506 (function lib_mod_event):
> replace:
> case 0x0038: /* left-right alt */
> if (param2 & 0x0100) /* right alt */
> {
> /* only en-us keymap can send right alt(alt-gr) */
> if (v->keylayout == 0x409) /* todo */
> {
> key = 0xffea; /* XK_Alt_R */
> }
> }
> with:
> case 0x0038: /* left-right alt */
> if (param2 & 0x0100) /* right alt */
> {
> switch (v->keylayout)
> {
> case 0x409:
> /* only en-us keymap can send right alt(alt-gr) */
> key = 0xffea; /* XK_Alt_R */
> break;
> case 0x407:
> /* for german keymap we have to neutralize last XK_Control_L
> */
> if (msg == 15)
> {
> key = 0xffe3;
> msg = 16;
> }
> break;
> }
> }
>
> All above is valid for the current versions in cvs (state 2009-02-15).
> I've "build a patch against archive" with cervisia and copy the relevant
> portions ... hope this helps.
>
> greetings
> Andreas
>
>
> ------------------------------------------------------------------------------
> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco,
> CA
> -OSBC tackles the biggest issue in open source: Open Sourcing the
> Enterprise
> -Strategies to boost innovation and cut costs with open source
> participation
> -Receive a $600 discount off the registration fee with the source code:
> SFAD
> http://p.sf.net/sfu/XcvMzF8H
> _______________________________________________
> xrdp-devel mailing list
> xrdp-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/xrdp-devel
>
>
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
xrdp-devel mailing list
xrdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xrdp-devel