diff options
Diffstat (limited to 'kxkb/extension.h')
-rw-r--r-- | kxkb/extension.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/kxkb/extension.h b/kxkb/extension.h new file mode 100644 index 000000000..bf4293d2b --- /dev/null +++ b/kxkb/extension.h @@ -0,0 +1,37 @@ +#ifndef __EXTENSION_H__ +#define __EXTENSION_H__ + +#include <X11/Xlib.h> + + +class XKBExtension +{ +public: + XKBExtension(Display *display=NULL); + ~XKBExtension(); + bool init(); + void reset(); + + static bool setXkbOptions(const TQString& options, bool resetOldOptions); + bool setLayout(const TQString& model, + const TQString& layout, const TQString& variant, + const TQString& includeGroup, bool useCompiledLayouts=true); + bool setGroup(unsigned int group); + unsigned int getGroup() const; + +private: + Display *m_dpy; + TQString m_tempDir; + static TQMap<TQString, FILE*> fileCache; + + bool setLayoutInternal(const TQString& model, + const TQString& layout, const TQString& variant, + const TQString& includeGroup); + bool compileCurrentLayout(const TQString& layoutKey); + bool setCompiledLayout(const TQString& layoutKey); + + TQString getPrecompiledLayoutFilename(const TQString& layoutKey); +// void deletePrecompiledLayouts(); +}; + +#endif |