cosmetic and comments for guacamole integration
Signed-off-by: Michael Jumper <zhangmaike@users.sourceforge.net>
This commit is contained in:
parent
8978181316
commit
bf15e05cb8
@ -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.
|
||||||
|
@ -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();
|
||||||
|
@ -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 {
|
||||||
|
|
||||||
|
@ -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"
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user