FreeRDP
xf_keyboard.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/crt.h>
#include <winpr/path.h>
#include <winpr/collections.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/keysym.h>
#include <X11/XKBlib.h>
#include <freerdp/locale/keyboard.h>
#include "xf_event.h"
#include "xf_keyboard.h"
#include <freerdp/log.h>

Macros

#define TAG   CLIENT_TAG("x11")
 

Functions

static BOOL xf_keyboard_action_script_init (xfContext *xfc)
 
static void xf_keyboard_action_script_free (xfContext *xfc)
 
BOOL xf_keyboard_init (xfContext *xfc)
 
void xf_keyboard_free (xfContext *xfc)
 
void xf_keyboard_clear (xfContext *xfc)
 
void xf_keyboard_key_press (xfContext *xfc, BYTE keycode, KeySym keysym)
 
void xf_keyboard_key_release (xfContext *xfc, BYTE keycode, KeySym keysym)
 
void xf_keyboard_release_all_keypress (xfContext *xfc)
 
BOOL xf_keyboard_key_pressed (xfContext *xfc, KeySym keysym)
 
void xf_keyboard_send_key (xfContext *xfc, BOOL down, BYTE keycode)
 
int xf_keyboard_read_keyboard_state (xfContext *xfc)
 
static int xf_keyboard_get_keymask (xfContext *xfc, int keysym)
 
BOOL xf_keyboard_get_key_state (xfContext *xfc, int state, int keysym)
 
static BOOL xf_keyboard_set_key_state (xfContext *xfc, BOOL on, int keysym)
 
UINT32 xf_keyboard_get_toggle_keys_state (xfContext *xfc)
 
static void xk_keyboard_update_modifier_keys (xfContext *xfc)
 
void xf_keyboard_focus_in (xfContext *xfc)
 
static int xf_keyboard_execute_action_script (xfContext *xfc, XF_MODIFIER_KEYS *mod, KeySym keysym)
 
static int xk_keyboard_get_modifier_keys (xfContext *xfc, XF_MODIFIER_KEYS *mod)
 
BOOL xf_keyboard_handle_special_keys (xfContext *xfc, KeySym keysym)
 
void xf_keyboard_handle_special_keys_release (xfContext *xfc, KeySym keysym)
 
BOOL xf_keyboard_set_indicators (rdpContext *context, UINT16 led_flags)
 
BOOL xf_keyboard_set_ime_status (rdpContext *context, UINT16 imeId, UINT32 imeState, UINT32 imeConvMode)
 

Variables

static BOOL firstPressRightCtrl = TRUE
 
static BOOL ungrabKeyboardWithRightCtrl = TRUE
 

Macro Definition Documentation

#define TAG   CLIENT_TAG("x11")

FreeRDP: A Remote Desktop Protocol Implementation X11 Keyboard Handling

Copyright 2011 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

static void xf_keyboard_action_script_free ( xfContext *  xfc)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_keyboard_action_script_init ( xfContext *  xfc)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void xf_keyboard_clear ( xfContext *  xfc)

Here is the caller graph for this function:

static int xf_keyboard_execute_action_script ( xfContext *  xfc,
XF_MODIFIER_KEYS *  mod,
KeySym  keysym 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void xf_keyboard_focus_in ( xfContext *  xfc)

Here is the call graph for this function:

Here is the caller graph for this function:

void xf_keyboard_free ( xfContext *  xfc)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL xf_keyboard_get_key_state ( xfContext *  xfc,
int  state,
int  keysym 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static int xf_keyboard_get_keymask ( xfContext *  xfc,
int  keysym 
)
static

Here is the caller graph for this function:

UINT32 xf_keyboard_get_toggle_keys_state ( xfContext *  xfc)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL xf_keyboard_handle_special_keys ( xfContext *  xfc,
KeySym  keysym 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void xf_keyboard_handle_special_keys_release ( xfContext *  xfc,
KeySym  keysym 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL xf_keyboard_init ( xfContext *  xfc)

Here is the call graph for this function:

Here is the caller graph for this function:

void xf_keyboard_key_press ( xfContext *  xfc,
BYTE  keycode,
KeySym  keysym 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL xf_keyboard_key_pressed ( xfContext *  xfc,
KeySym  keysym 
)

Here is the caller graph for this function:

void xf_keyboard_key_release ( xfContext *  xfc,
BYTE  keycode,
KeySym  keysym 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int xf_keyboard_read_keyboard_state ( xfContext *  xfc)

Here is the caller graph for this function:

void xf_keyboard_release_all_keypress ( xfContext *  xfc)

Here is the call graph for this function:

Here is the caller graph for this function:

void xf_keyboard_send_key ( xfContext *  xfc,
BOOL  down,
BYTE  keycode 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL xf_keyboard_set_ime_status ( rdpContext *  context,
UINT16  imeId,
UINT32  imeState,
UINT32  imeConvMode 
)

Here is the caller graph for this function:

BOOL xf_keyboard_set_indicators ( rdpContext *  context,
UINT16  led_flags 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL xf_keyboard_set_key_state ( xfContext *  xfc,
BOOL  on,
int  keysym 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static int xk_keyboard_get_modifier_keys ( xfContext *  xfc,
XF_MODIFIER_KEYS *  mod 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xk_keyboard_update_modifier_keys ( xfContext *  xfc)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

BOOL firstPressRightCtrl = TRUE
static
BOOL ungrabKeyboardWithRightCtrl = TRUE
static