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>
/**
* Represents a keysym-to-scancode mapping for RDP, with extra information
* about the state of prerequisite keysyms.

View File

@ -1,16 +1,13 @@
#ifndef _GUAC_UNICODE_CONVTABLE_H
#define _GUAC_UNICODE_CONVTABLE_H
int keysym2uni(int keysym);
/* Keysym->unicode Exceptions tables */
int keysym2uni_base[65536];// = { 0x0 };
int keysym2uni_ext0[4096];// = { 0x0 };
int keysym2uni_ext1[4096];// = { 0x0 };
int keysym2uni_ext2[4096];// = { 0x0 };
int keysym2uni_base[65536];
int keysym2uni_ext0[4096];
int keysym2uni_ext1[4096];
int keysym2uni_ext2[4096];
/* Fill global tables, if needed (only on first call) */
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 */
rdp_inst->input->KeyboardEvent(
rdp_inst->input,
rdp_inst->input,
keysym_desc->flags
| (pressed ? KBD_FLAGS_DOWN : KBD_FLAGS_RELEASE),
keysym_desc->scancode);
| (pressed ? KBD_FLAGS_DOWN : KBD_FLAGS_RELEASE),
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 (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);
/* /\* 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 {
/* Fall back to unicode events */
/* Fall back to unicode events if undefined inside current keymap */
int unicode_code = keysym2uni(keysym);
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);
/* 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) {
rdp_inst->input->UnicodeKeyboardEvent(
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);
} else {

View File

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

View File

@ -1,5 +1,5 @@
#!/usr/bin/env python
#
# Copyright (C) 2012 Ulteo SAS
# http://www.ulteo.com
# Author Jocelyn DELALANDE <j.delalande@ulteo.com> 2012
@ -9,6 +9,10 @@
#
# Used to extract the keysym<->unicode mapping exceptions from
# 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 ConfigParser