FreeRDP
keyboard_xkbfile.c File Reference
#include <freerdp/config.h>
#include "keyboard_xkbfile.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/crt.h>
#include <winpr/input.h>
#include <freerdp/locale/keyboard.h>
#include "keyboard_x11.h"
#include "xkb_layout_ids.h"
#include "liblocale.h"
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/XKBlib.h>
#include <X11/extensions/XKBfile.h>
#include <X11/extensions/XKBrules.h>

Functions

static int detect_keyboard_layout_from_xkbfile (void *display, DWORD *keyboardLayoutId)
 
static int freerdp_keyboard_load_map_from_xkbfile (void *display, DWORD *x11_keycode_to_rdp_scancode, size_t count)
 
static void * freerdp_keyboard_xkb_init (void)
 
int freerdp_keyboard_init_xkbfile (DWORD *keyboardLayoutId, DWORD *x11_keycode_to_rdp_scancode, size_t count)
 
static char * comma_substring (char *s, size_t n)
 
static int xkb_cmp (const void *pva, const void *pvb)
 
static BOOL try_add (size_t offset, const char *xkb_keyname, DWORD *x11_keycode_to_rdp_scancode, size_t count)
 

Variables

static const XKB_KEY_NAME_SCANCODE XKB_KEY_NAME_SCANCODE_TABLE []
 

Function Documentation

◆ comma_substring()

static char* comma_substring ( char *  s,
size_t  n 
)
static
Here is the caller graph for this function:

◆ detect_keyboard_layout_from_xkbfile()

int detect_keyboard_layout_from_xkbfile ( void *  display,
DWORD *  keyboardLayoutId 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_keyboard_init_xkbfile()

int freerdp_keyboard_init_xkbfile ( DWORD *  keyboardLayoutId,
DWORD *  x11_keycode_to_rdp_scancode,
size_t  count 
)

FreeRDP: A Remote Desktop Protocol Implementation XKB Keyboard Mapping

Copyright 2009-2012 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.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_keyboard_load_map_from_xkbfile()

int freerdp_keyboard_load_map_from_xkbfile ( void *  display,
DWORD *  x11_keycode_to_rdp_scancode,
size_t  count 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_keyboard_xkb_init()

static void* freerdp_keyboard_xkb_init ( void  )
static
Here is the caller graph for this function:

◆ try_add()

static BOOL try_add ( size_t  offset,
const char *  xkb_keyname,
DWORD *  x11_keycode_to_rdp_scancode,
size_t  count 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ xkb_cmp()

static int xkb_cmp ( const void *  pva,
const void *  pvb 
)
static
Here is the caller graph for this function:

Variable Documentation

◆ XKB_KEY_NAME_SCANCODE_TABLE

const XKB_KEY_NAME_SCANCODE XKB_KEY_NAME_SCANCODE_TABLE[]
static