27 #include <winpr/wtypes.h>
28 #include <freerdp/freerdp.h>
29 #include <freerdp/locale/keyboard.h>
32 #include "sdl_types.hpp"
45 BOOL keyboard_sync_state();
46 BOOL keyboard_focus_in();
48 BOOL keyboard_handle_event(
const SDL_KeyboardEvent* ev);
50 BOOL keyboard_grab(Uint32 windowID, SDL_bool enable);
51 BOOL mouse_focus(Uint32 windowID);
52 BOOL mouse_grab(Uint32 windowID, SDL_bool enable);
54 static BOOL keyboard_set_indicators(rdpContext* context, UINT16 led_flags);
55 static BOOL keyboard_set_ime_status(rdpContext* context, UINT16 imeId, UINT32 imeState,
58 static uint32_t prefToMask();
59 static uint32_t prefKeyValue(
const std::string& key, uint32_t fallback = SDL_SCANCODE_UNKNOWN);
62 static std::list<std::string> tokenize(
const std::string& data,
63 const std::string& delimiter =
",");
64 static bool extract(
const std::string& token, uint32_t& key, uint32_t& value);
70 uint32_t _hotkeyModmask;
71 uint32_t _hotkeyFullscreen;
72 uint32_t _hotkeyResizable;
74 uint32_t _hotkeyDisconnect;
75 uint32_t _hotkeyMinimize;
76 FREERDP_REMAP_TABLE* _remapTable;