Line
Link Here
|
0 |
-- xrdp-0.4.1.orig/xrdp/lang.c |
0 |
++ xrdp-0.4.1/xrdp/lang.c |
Lines 302-308
Link Here
|
302 |
0, ' ', 0, 0, 0, 0, 0, 0, |
302 |
0, ' ', 0, 0, 0, 0, 0, 0, |
303 |
0, 0, 0, 0, 0, 0, 0, '7', |
303 |
0, 0, 0, 0, 0, 0, 0, '7', |
304 |
'8', '9', '-', '4', '5', '6', '+', '1', |
304 |
'8', '9', '-', '4', '5', '6', '+', '1', |
305 |
'2', '3', '0', '.', 0, 0, 0, 0, |
305 |
'2', '3', '0', '.', 0, 0, '<', 0, |
306 |
0, 0, 0, 0, 0, 0, 0, 0, |
306 |
0, 0, 0, 0, 0, 0, 0, 0, |
307 |
0, 0, 0, 0, 0, 0, 0, 0, |
307 |
0, 0, 0, 0, 0, 0, 0, 0, |
308 |
0, 0, 0, 0, 0, 0, 0, 0, |
308 |
0, 0, 0, 0, 0, 0, 0, 0, |
Lines 323-329
Link Here
|
323 |
0, ' ', 0, 0, 0, 0, 0, 0, |
323 |
0, ' ', 0, 0, 0, 0, 0, 0, |
324 |
0, 0, 0, 0, 0, 0, 0, '7', |
324 |
0, 0, 0, 0, 0, 0, 0, '7', |
325 |
'8', '9', '-', '4', '5', '6', '+', '1', |
325 |
'8', '9', '-', '4', '5', '6', '+', '1', |
326 |
'2', '3', '0', '.', 0, 0, 0, 0, |
326 |
'2', '3', '0', '.', 0, 0, '>', 0, |
327 |
0, 0, 0, 0, 0, 0, 0, 0, |
327 |
0, 0, 0, 0, 0, 0, 0, 0, |
328 |
0, 0, 0, 0, 0, 0, 0, 0, |
328 |
0, 0, 0, 0, 0, 0, 0, 0, |
329 |
0, 0, 0, 0, 0, 0, 0, 0, |
329 |
0, 0, 0, 0, 0, 0, 0, 0, |
Lines 344-350
Link Here
|
344 |
0, 0, 0, 0, 0, 0, 0, 0, |
344 |
0, 0, 0, 0, 0, 0, 0, 0, |
345 |
0, 0, 0, 0, 0, 0, 0, 0, |
345 |
0, 0, 0, 0, 0, 0, 0, 0, |
346 |
0, 0, 0, 0, 0, 0, 0, 0, |
346 |
0, 0, 0, 0, 0, 0, 0, 0, |
347 |
0, 0, 0, 0, 0, 0, 0, 0, |
347 |
0, 0, 0, 0, 0, 0, '|', 0, |
348 |
0, 0, 0, 0, 0, 0, 0, 0, |
348 |
0, 0, 0, 0, 0, 0, 0, 0, |
349 |
0, 0, 0, 0, 0, 0, 0, 0, |
349 |
0, 0, 0, 0, 0, 0, 0, 0, |
350 |
0, 0, 0, 0, 0, 0, 0, 0, |
350 |
0, 0, 0, 0, 0, 0, 0, 0, |
Lines 544-549
Link Here
|
544 |
shift = keys[42] || keys[54]; |
544 |
shift = keys[42] || keys[54]; |
545 |
altgr = keys[56]; /* right alt */ |
545 |
altgr = keys[56]; /* left or right alt */ |
546 |
ext = device_flags & 0x0100; |
546 |
ext = altgr ? 0 : (device_flags & 0x0100); /* no ext, if any alt */ |
547 |
rv = 0; |
547 |
rv = 0; |
548 |
if (scan_code >= 128) |
548 |
if (scan_code >= 128) |
549 |
{ |
549 |
{ |
550 |
-- xrdp-0.4.1.orig/vnc/vnc.c |
550 |
++ xrdp-0.4.1/vnc/vnc.c |
Lines 292-301
Link Here
|
292 |
case 0x0038: /* left-right alt */ |
292 |
case 0x0038: /* left-right alt */ |
293 |
if (param2 & 0x0100) /* right alt */ |
293 |
if (param2 & 0x0100) /* right alt */ |
294 |
{ |
294 |
{ |
|
|
295 |
key = 0xffea; |
295 |
/* only en-us keymap can send right alt(alt-gr) */ |
296 |
/* only en-us keymap can send right alt(alt-gr) */ |
296 |
if (v->keylayout == 0x409) |
297 |
/* other keymaps: cancel effects of a unwanted ctl-l, which is send just before alt-gr */ |
|
|
298 |
if (v->keylayout != 0x409) |
297 |
{ |
299 |
{ |
298 |
key = 0xffea; |
300 |
if (msg == 15) /* if alt-gr is pressed, send a ctl-l release before */ |
|
|
301 |
{ |
302 |
init_stream(s, 8192); |
303 |
out_uint8(s, 4); |
304 |
out_uint8(s, 0); /* release */ |
305 |
out_uint8s(s, 2); |
306 |
out_uint32_be(s, 0xffe3); /* ctl-l */ |
307 |
error = lib_send(v, s->data, 8); |
308 |
free_stream(s); |
309 |
make_stream(s); |
310 |
} |
299 |
} |
311 |
} |
300 |
} |
312 |
} |
301 |
else /* left alt */ |
313 |
else /* left alt */ |