summaryrefslogtreecommitdiffstats
path: root/xrdp/xrdp_wm.c
diff options
context:
space:
mode:
Diffstat (limited to 'xrdp/xrdp_wm.c')
-rw-r--r--xrdp/xrdp_wm.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/xrdp/xrdp_wm.c b/xrdp/xrdp_wm.c
index c3bc6cba..19820074 100644
--- a/xrdp/xrdp_wm.c
+++ b/xrdp/xrdp_wm.c
@@ -46,6 +46,8 @@ xrdp_wm_create(struct xrdp_process* owner,
self->key_down_list->auto_free = 1;
self->mm = xrdp_mm_create(self);
self->default_font = xrdp_font_create(self);
+ /* this will use built in keymap or load from file */
+ get_keymaps(self->session->client_info->keylayout, &(self->keymap));
return self;
}
@@ -1087,11 +1089,10 @@ xrdp_wm_key(struct xrdp_wm* self, int device_flags, int scan_code)
{
if (msg == WM_KEYDOWN)
{
- c = get_char_from_scan_code(device_flags, scan_code, self->keys,
- self->caps_lock,
- self->num_lock,
- self->scroll_lock,
- self->session->client_info->keylayout);
+ c = get_char_from_scan_code
+ (device_flags, scan_code, self->keys, self->caps_lock,
+ self->num_lock, self->scroll_lock,
+ &(self->keymap));
if (c != 0)
{
self->mm->mod->mod_event(self->mm->mod, msg, c,