cosmetic and comments for guacamole integration

Signed-off-by: Michael Jumper <zhangmaike@users.sourceforge.net>
This commit is contained in:
Jocelyn DELALANDE 2012-05-15 12:02:28 +02:00 committed by Michael Jumper
parent 8978181316
commit bf15e05cb8
5 changed files with 18 additions and 33 deletions

View File

@ -40,7 +40,6 @@
#include <freerdp/locale/keyboard.h> #include <freerdp/locale/keyboard.h>
/** /**
* Represents a keysym-to-scancode mapping for RDP, with extra information * Represents a keysym-to-scancode mapping for RDP, with extra information
* about the state of prerequisite keysyms. * about the state of prerequisite keysyms.

View File

@ -1,16 +1,13 @@
#ifndef _GUAC_UNICODE_CONVTABLE_H #ifndef _GUAC_UNICODE_CONVTABLE_H
#define _GUAC_UNICODE_CONVTABLE_H #define _GUAC_UNICODE_CONVTABLE_H
int keysym2uni(int keysym); int keysym2uni(int keysym);
/* Keysym->unicode Exceptions tables */ /* Keysym->unicode Exceptions tables */
int keysym2uni_base[65536];// = { 0x0 }; int keysym2uni_base[65536];
int keysym2uni_ext0[4096];// = { 0x0 }; int keysym2uni_ext0[4096];
int keysym2uni_ext1[4096];// = { 0x0 }; int keysym2uni_ext1[4096];
int keysym2uni_ext2[4096];// = { 0x0 }; int keysym2uni_ext2[4096];
/* Fill global tables, if needed (only on first call) */ /* Fill global tables, if needed (only on first call) */
void init_unicode_tables(); void init_unicode_tables();

View File

@ -345,12 +345,12 @@ int __guac_rdp_send_keysym(guac_client* client, int keysym, int pressed) {
/* Send actual key */ /* Send actual key */
rdp_inst->input->KeyboardEvent( rdp_inst->input->KeyboardEvent(
rdp_inst->input, rdp_inst->input,
keysym_desc->flags keysym_desc->flags
| (pressed ? KBD_FLAGS_DOWN : KBD_FLAGS_RELEASE), | (pressed ? KBD_FLAGS_DOWN : KBD_FLAGS_RELEASE),
keysym_desc->scancode); keysym_desc->scancode);
guac_client_log_info(client, "Base flags are %d", keysym_desc->flags); guac_client_log_info(client, "Base flags are %d", keysym_desc->flags);
/* If defined, release any keys that were originally released */ /* If defined, release any keys that were originally released */
if (keysym_desc->set_keysyms != NULL) if (keysym_desc->set_keysyms != NULL)
@ -361,35 +361,21 @@ int __guac_rdp_send_keysym(guac_client* client, int keysym, int pressed) {
__guac_rdp_update_keysyms(client, keysym_desc->clear_keysyms, 1, 1); __guac_rdp_update_keysyms(client, keysym_desc->clear_keysyms, 1, 1);
/* /\* If undefined but has Alt-code, use Alt-Code *\/ */
/* else if (keysym <= 0xFF) { */
/* /\* NOTE: The Alt-codes are conveniently identical to keysyms. *\/ */
/* /\* Only send Alt-code on press *\/ */
/* if (pressed) */
/* __guac_rdp_send_altcode(client, keysym); */
/* } */
/* /\* If no defined Alt-code, log warning *\/ */
/* else */
/* guac_client_log_info(client, "unmapped keysym: 0x%x", keysym); */
} else { } else {
/* Fall back to unicode events */ /* Fall back to unicode events if undefined inside current keymap */
int unicode_code = keysym2uni(keysym); int unicode_code = keysym2uni(keysym);
guac_client_log_info(client, "Translated keysym:0x%x to unicode:0x%x (pressed=%d flag=%d)", guac_client_log_info(client, "Translated keysym:0x%x to unicode:0x%x (pressed=%d flag=%d)",
keysym, unicode_code, pressed, pressed ? KBD_FLAGS_DOWN : KBD_FLAGS_RELEASE); keysym, unicode_code, pressed, pressed ? KBD_FLAGS_DOWN : KBD_FLAGS_RELEASE);
/* LibfreeRDP seems not to take into account the DOWN/RELEASE flags. /* LibfreeRDP seems not to take into account the DOWN/RELEASE flags.
* So we send only the key once. * So we send only on of the two key events.
*/ */
if (pressed) { if (pressed) {
rdp_inst->input->UnicodeKeyboardEvent( rdp_inst->input->UnicodeKeyboardEvent(
rdp_inst->input, rdp_inst->input,
0,//pressed ? KBD_FLAGS_DOW : KBD_FLAGS_RELEASE, //pressed ? KBD_FLAGS_DOW : KBD_FLAGS_RELEASE, <- not
// taken into account
0,
unicode_code); unicode_code);
} else { } else {

View File

@ -37,7 +37,6 @@
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
#include <freerdp/input.h> #include <freerdp/input.h>
#include <freerdp/locale/keyboard.h> #include <freerdp/locale/keyboard.h>
#include "rdp_keymap.h" #include "rdp_keymap.h"

View File

@ -1,5 +1,5 @@
#!/usr/bin/env python #!/usr/bin/env python
#
# Copyright (C) 2012 Ulteo SAS # Copyright (C) 2012 Ulteo SAS
# http://www.ulteo.com # http://www.ulteo.com
# Author Jocelyn DELALANDE <j.delalande@ulteo.com> 2012 # Author Jocelyn DELALANDE <j.delalande@ulteo.com> 2012
@ -9,6 +9,10 @@
# #
# Used to extract the keysym<->unicode mapping exceptions from # Used to extract the keysym<->unicode mapping exceptions from
# unicode_exception.ini (can be found in Ulteo patched version of xrdp) # unicode_exception.ini (can be found in Ulteo patched version of xrdp)
#
# Such an ini file can be found at
# http://www.ulteo.com/home/en/download/sourcecode (xrdp folder)
#
import sys import sys
import ConfigParser import ConfigParser