FreeRDP
keyboard_layout.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/crt.h>
#include "liblocale.h"
#include <freerdp/types.h>
#include <freerdp/scancode.h>
#include <freerdp/locale/keyboard.h>

Functions

void freerdp_keyboard_layouts_free (RDP_KEYBOARD_LAYOUT *layouts)
 
RDP_KEYBOARD_LAYOUT * freerdp_keyboard_get_layouts (DWORD types)
 
const char * freerdp_keyboard_get_layout_name_from_id (DWORD keyboardLayoutID)
 
DWORD freerdp_keyboard_get_layout_id_from_name (const char *name)
 
static void copy (const struct LanguageIdentifier *id, RDP_CODEPAGE *cp)
 
static BOOL copyOnMatch (DWORD column, const char *filter, const struct LanguageIdentifier *cur, RDP_CODEPAGE *dst)
 
RDP_CODEPAGE * freerdp_keyboard_get_matching_codepages (DWORD column, const char *filter, size_t *count)
 
void freerdp_codepages_free (RDP_CODEPAGE *pages)
 

Variables

const struct LanguageIdentifier language_identifiers []
 
static const RDP_KEYBOARD_LAYOUT RDP_KEYBOARD_LAYOUT_TABLE []
 
static const RDP_KEYBOARD_LAYOUT_VARIANT RDP_KEYBOARD_LAYOUT_VARIANT_TABLE []
 
static const RDP_KEYBOARD_IME RDP_KEYBOARD_IME_TABLE []
 

Function Documentation

◆ copy()

static void copy ( const struct LanguageIdentifier *  id,
RDP_CODEPAGE *  cp 
)
static
Here is the caller graph for this function:

◆ copyOnMatch()

static BOOL copyOnMatch ( DWORD  column,
const char *  filter,
const struct LanguageIdentifier *  cur,
RDP_CODEPAGE *  dst 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_codepages_free()

void freerdp_codepages_free ( RDP_CODEPAGE *  pages)
Here is the caller graph for this function:

◆ freerdp_keyboard_get_layout_id_from_name()

DWORD freerdp_keyboard_get_layout_id_from_name ( const char *  name)

◆ freerdp_keyboard_get_layout_name_from_id()

const char* freerdp_keyboard_get_layout_name_from_id ( DWORD  keyboardLayoutID)

◆ freerdp_keyboard_get_layouts()

RDP_KEYBOARD_LAYOUT* freerdp_keyboard_get_layouts ( DWORD  types)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_keyboard_get_matching_codepages()

RDP_CODEPAGE* freerdp_keyboard_get_matching_codepages ( DWORD  column,
const char *  filter,
size_t *  count 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_keyboard_layouts_free()

void freerdp_keyboard_layouts_free ( RDP_KEYBOARD_LAYOUT *  layouts)
Here is the caller graph for this function:

Variable Documentation

◆ language_identifiers

const struct LanguageIdentifier language_identifiers[]

◆ RDP_KEYBOARD_IME_TABLE

const RDP_KEYBOARD_IME RDP_KEYBOARD_IME_TABLE[]
static
Initial value:
= {
{ KBD_CHINESE_TRADITIONAL_PHONETIC, "phon.ime", "Chinese (Traditional) - Phonetic" },
{ KBD_JAPANESE_INPUT_SYSTEM_MS_IME2002, "imjp81.ime", "Japanese Input System (MS-IME2002)" },
{ KBD_KOREAN_INPUT_SYSTEM_IME_2000, "imekr61.ime", "Korean Input System (IME 2000)" },
{ KBD_CHINESE_SIMPLIFIED_QUANPIN, "winpy.ime", "Chinese (Simplified) - QuanPin" },
{ KBD_CHINESE_TRADITIONAL_CHANGJIE, "chajei.ime", "Chinese (Traditional) - ChangJie" },
{ KBD_CHINESE_SIMPLIFIED_SHUANGPIN, "winsp.ime", "Chinese (Simplified) - ShuangPin" },
{ KBD_CHINESE_TRADITIONAL_QUICK, "quick.ime", "Chinese (Traditional) - Quick" },
{ KBD_CHINESE_SIMPLIFIED_ZHENGMA, "winzm.ime", "Chinese (Simplified) - ZhengMa" },
{ KBD_CHINESE_TRADITIONAL_BIG5_CODE, "winime.ime", "Chinese (Traditional) - Big5 Code" },
{ KBD_CHINESE_TRADITIONAL_ARRAY, "winar30.ime", "Chinese (Traditional) - Array" },
{ KBD_CHINESE_SIMPLIFIED_NEIMA, "wingb.ime", "Chinese (Simplified) - NeiMa" },
{ KBD_CHINESE_TRADITIONAL_DAYI, "dayi.ime", "Chinese (Traditional) - DaYi" },
{ KBD_CHINESE_TRADITIONAL_UNICODE, "unicdime.ime", "Chinese (Traditional) - Unicode" },
"Chinese (Traditional) - New Phonetic" },
"Chinese (Traditional) - New ChangJie" },
"Chinese (Traditional) - Microsoft Pinyin IME 3.0" },
{ KBD_CHINESE_TRADITIONAL_ALPHANUMERIC, "romanime.ime", "Chinese (Traditional) - Alphanumeric" }
}

◆ RDP_KEYBOARD_LAYOUT_TABLE

const RDP_KEYBOARD_LAYOUT RDP_KEYBOARD_LAYOUT_TABLE[]
static

◆ RDP_KEYBOARD_LAYOUT_VARIANT_TABLE

const RDP_KEYBOARD_LAYOUT_VARIANT RDP_KEYBOARD_LAYOUT_VARIANT_TABLE[]
static
KBD_CHINESE_SIMPLIFIED_NEIMA
#define KBD_CHINESE_SIMPLIFIED_NEIMA
Definition: keyboard.h:207
KBD_CHINESE_TRADITIONAL_BIG5_CODE
#define KBD_CHINESE_TRADITIONAL_BIG5_CODE
Definition: keyboard.h:205
KBD_CHINESE_TRADITIONAL_ARRAY
#define KBD_CHINESE_TRADITIONAL_ARRAY
Definition: keyboard.h:206
KBD_CHINESE_TRADITIONAL_ALPHANUMERIC
#define KBD_CHINESE_TRADITIONAL_ALPHANUMERIC
Definition: keyboard.h:213
KBD_JAPANESE_INPUT_SYSTEM_MS_IME2002
#define KBD_JAPANESE_INPUT_SYSTEM_MS_IME2002
Definition: keyboard.h:198
KBD_CHINESE_SIMPLIFIED_QUANPIN
#define KBD_CHINESE_SIMPLIFIED_QUANPIN
Definition: keyboard.h:200
KBD_CHINESE_SIMPLIFIED_SHUANGPIN
#define KBD_CHINESE_SIMPLIFIED_SHUANGPIN
Definition: keyboard.h:202
KBD_CHINESE_SIMPLIFIED_ZHENGMA
#define KBD_CHINESE_SIMPLIFIED_ZHENGMA
Definition: keyboard.h:204
KBD_CHINESE_TRADITIONAL_DAYI
#define KBD_CHINESE_TRADITIONAL_DAYI
Definition: keyboard.h:208
KBD_CHINESE_TRADITIONAL_UNICODE
#define KBD_CHINESE_TRADITIONAL_UNICODE
Definition: keyboard.h:209
KBD_CHINESE_TRADITIONAL_NEW_PHONETIC
#define KBD_CHINESE_TRADITIONAL_NEW_PHONETIC
Definition: keyboard.h:210
KBD_CHINESE_TRADITIONAL_MICROSOFT_PINYIN_IME_3
#define KBD_CHINESE_TRADITIONAL_MICROSOFT_PINYIN_IME_3
Definition: keyboard.h:212
KBD_CHINESE_TRADITIONAL_PHONETIC
#define KBD_CHINESE_TRADITIONAL_PHONETIC
Definition: keyboard.h:197
KBD_CHINESE_TRADITIONAL_QUICK
#define KBD_CHINESE_TRADITIONAL_QUICK
Definition: keyboard.h:203
KBD_KOREAN_INPUT_SYSTEM_IME_2000
#define KBD_KOREAN_INPUT_SYSTEM_IME_2000
Definition: keyboard.h:199
KBD_CHINESE_TRADITIONAL_NEW_CHANGJIE
#define KBD_CHINESE_TRADITIONAL_NEW_CHANGJIE
Definition: keyboard.h:211
KBD_CHINESE_TRADITIONAL_CHANGJIE
#define KBD_CHINESE_TRADITIONAL_CHANGJIE
Definition: keyboard.h:201