[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebase/kxkb
From: Andy Rysin <arysin () yahoo ! com>
Date: 2004-07-01 7:46:47
Message-ID: 20040701074647.1D1B199D0 () office ! kde ! org
[Download RAW message or body]
CVS commit by rysin:
Viki (onscreen keyboard) has problems determining some modifiers states
when kxkb uses precompiled layouts instead of setxkbmap. Probably a bug
in the xkb functions used for the precompiled layouts *shrug*.
Workaround from Lubos Lunak <l dot lunak at suse dot cz>
M +15 -2 kxkb.cpp 1.73
M +2 -0 kxkb.h 1.29
--- kdebase/kxkb/kxkb.cpp #1.72:1.73
@@ -137,5 +137,6 @@ KXKBApp::KXKBApp(bool allowStyles, bool
m_rules(NULL),
m_tray(NULL),
- kWinModule(NULL)
+ kWinModule(NULL),
+ m_forceSetXKBMap( false )
{
m_extension = new XKBExtension;
@@ -304,5 +305,5 @@ bool KXKBApp::setLayout(const QString& l
m_group = m_rules->getGroup(layout, baseGr);
- if (m_compiledLayoutFileNames.contains(layout))
+ if (m_compiledLayoutFileNames.contains(layout) && !m_forceSetXKBMap)
{
res = m_extension->setCompiledLayout(m_compiledLayoutFileNames[layout]);
@@ -489,4 +490,16 @@ void KXKBApp::slotSettingsChanged(int ca
}
+/*
+ Viki (onscreen keyboard) has problems determining some modifiers states
+ when kxkb uses precompiled layouts instead of setxkbmap. Probably a bug
+ in the xkb functions used for the precompiled layouts *shrug*.
+*/
+void KXKBApp::forceSetXKBMap( bool set )
+{
+ if( m_forceSetXKBMap == set )
+ return;
+ m_forceSetXKBMap = set;
+ layoutApply();
+}
static QString windowClass(WId winId)
--- kdebase/kxkb/kxkb.h #1.28:1.29
@@ -152,4 +152,5 @@ k_dcop:
QString getCurrentLayout() { return m_layout; }
QStringList getLayoutsList() { return m_list; }
+ void forceSetXKBMap( bool set );
protected slots:
@@ -197,4 +198,5 @@ private:
KGlobalAccel *keys;
KWinModule* kWinModule;
+ bool m_forceSetXKBMap;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic