Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorheadkaze <headkaze@gmail.com>2021-12-17 18:21:37 +0300
committerheadkaze <headkaze@gmail.com>2021-12-17 18:21:37 +0300
commit470e517b31dd4eaf7ac53f7dfd8df91d44e64a96 (patch)
tree9252aa9aa2325fb3f25e2af6ac04a5b91c72557a /src
parent2143beac690d085506a02fd6038d5dae8e16e724 (diff)
Add remmina_pref_keymap_get_table
Diffstat (limited to 'src')
-rw-r--r--src/include/remmina/plugin.h1
-rw-r--r--src/remmina_plugin_manager.c1
-rw-r--r--src/remmina_pref.c12
-rw-r--r--src/remmina_pref.h2
4 files changed, 14 insertions, 2 deletions
diff --git a/src/include/remmina/plugin.h b/src/include/remmina/plugin.h
index 5c284f834..23bf2c189 100644
--- a/src/include/remmina/plugin.h
+++ b/src/include/remmina/plugin.h
@@ -214,6 +214,7 @@ typedef struct _RemminaPluginService {
gint (*pref_get_sshtunnel_port)(void);
gint (*pref_get_ssh_loglevel)(void);
gboolean (*pref_get_ssh_parseconfig)(void);
+ guint *(*pref_keymap_get_table)(const gchar *keymap);
guint (*pref_keymap_get_keyval)(const gchar *keymap, guint keyval);
void (*_remmina_info)(const gchar *fmt, ...);
diff --git a/src/remmina_plugin_manager.c b/src/remmina_plugin_manager.c
index 08575db0e..842b847d5 100644
--- a/src/remmina_plugin_manager.c
+++ b/src/remmina_plugin_manager.c
@@ -236,6 +236,7 @@ RemminaPluginService remmina_plugin_manager_service =
remmina_pref_get_sshtunnel_port,
remmina_pref_get_ssh_loglevel,
remmina_pref_get_ssh_parseconfig,
+ remmina_pref_keymap_get_table,
remmina_pref_keymap_get_keyval,
_remmina_info,
diff --git a/src/remmina_pref.c b/src/remmina_pref.c
index 4ef129e4c..c33c841d6 100644
--- a/src/remmina_pref.c
+++ b/src/remmina_pref.c
@@ -57,7 +57,7 @@ const gchar *default_resolutions = "640x480,800x600,1024x768,1152x864,1280x960,1
const gchar *default_keystrokes = "Send hello world§hello world\\n";
gchar *remmina_keymap_file;
-GHashTable *remmina_keymap_table = NULL;
+static GHashTable *remmina_keymap_table = NULL;
/* We could customize this further if there are more requirements */
static const gchar *default_keymap_data = "# Please check gdk/gdkkeysyms.h for a full list of all key names or hex key values\n"
@@ -969,6 +969,16 @@ void remmina_pref_clear_recent(void)
g_key_file_free(gkeyfile);
}
+guint *remmina_pref_keymap_get_table(const gchar *keymap)
+{
+ TRACE_CALL(__func__);
+
+ if (!keymap || keymap[0] == '\0')
+ return NULL;
+
+ return (guint *)g_hash_table_lookup(remmina_keymap_table, keymap);
+}
+
guint remmina_pref_keymap_get_keyval(const gchar *keymap, guint keyval)
{
TRACE_CALL(__func__);
diff --git a/src/remmina_pref.h b/src/remmina_pref.h
index fbb95f003..fe00f922c 100644
--- a/src/remmina_pref.h
+++ b/src/remmina_pref.h
@@ -229,7 +229,6 @@ typedef struct _RemminaPref {
#define SSH_SOCKET_TCP_KEEPCNT 3
#define SSH_SOCKET_TCP_USER_TIMEOUT 60000 // 60 seconds
-extern GHashTable *remmina_keymap_table;
extern const gchar *default_resolutions;
extern gchar *remmina_pref_file;
extern gchar *remmina_colors_file;
@@ -243,6 +242,7 @@ void remmina_pref_add_recent(const gchar *protocol, const gchar *server);
gchar *remmina_pref_get_recent(const gchar *protocol);
void remmina_pref_clear_recent(void);
+guint *remmina_pref_keymap_get_table(const gchar *keymap);
guint remmina_pref_keymap_get_keyval(const gchar *keymap, guint keyval);
gchar **remmina_pref_keymap_groups(void);