aboutsummaryrefslogtreecommitdiff
path: root/src/keyboard-lomiri.c
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2025-06-22 21:42:43 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2025-07-22 11:56:19 +0200
commitb5cdd12b186f27cee8cfdfb9ff84c15ca8913582 (patch)
tree2370e7a16ddab2b61aaf848746472faae6b27fe2 /src/keyboard-lomiri.c
parent4de4c6757ad71cad0ee77ffdfde7fb19fb4541a8 (diff)
downloadayatana-indicator-keyboard-b5cdd12b186f27cee8cfdfb9ff84c15ca8913582.tar.gz
ayatana-indicator-keyboard-b5cdd12b186f27cee8cfdfb9ff84c15ca8913582.tar.bz2
ayatana-indicator-keyboard-b5cdd12b186f27cee8cfdfb9ff84c15ca8913582.zip
src/keyboard*: Remember nLayout and nLayoutOSK separately.
Diffstat (limited to 'src/keyboard-lomiri.c')
-rw-r--r--src/keyboard-lomiri.c26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/keyboard-lomiri.c b/src/keyboard-lomiri.c
index d222a06a..ae2f7961 100644
--- a/src/keyboard-lomiri.c
+++ b/src/keyboard-lomiri.c
@@ -61,6 +61,7 @@ struct _KeyboardPrivate
{
GHashTable *lLayouts;
guint nLayout;
+ guint nLayoutOSK;
GSList *lLayoutRec;
GSList *lLayoutRecOSK;
GSList *lUsers;
@@ -220,26 +221,37 @@ guint keyboard_GetNumLayouts(Keyboard *pKeyboard, gboolean bOSK)
return nLayouts;
}
-guint keyboard_GetLayoutIndex (Keyboard *pKeyboard)
+guint keyboard_GetLayoutIndex (Keyboard *pKeyboard, gboolean bOSK)
{
- return pKeyboard->pPrivate->nLayout;
+ if (bOSK)
+ {
+ return pKeyboard->pPrivate->nLayoutOSK;
+ }
+ else
+ {
+ return pKeyboard->pPrivate->nLayout;
+ }
}
void keyboard_GetLayout(Keyboard *pKeyboard, gboolean bOSK, gint nLayout, gchar **pLanguage, gchar **pDescription, gchar **pId)
{
- if (nLayout == -1)
- {
- nLayout = pKeyboard->pPrivate->nLayout;
- }
GSList *lLayoutRec = NULL;
if (bOSK)
{
+ if (nLayout == -1)
+ {
+ nLayout = pKeyboard->pPrivate->nLayoutOSK;
+ }
lLayoutRec = pKeyboard->pPrivate->lLayoutRecOSK;
}
else
{
+ if (nLayout == -1)
+ {
+ nLayout = pKeyboard->pPrivate->nLayout;
+ }
lLayoutRec = pKeyboard->pPrivate->lLayoutRec;
}
@@ -695,6 +707,8 @@ static void keyboard_init(Keyboard *self)
rxkb_context_unref(pContext);
+ self->pPrivate->nLayoutOSK = 0;
+
// Lomiri-specific layouts
const gchar *LAYOUTS[][3] =
{