Kate
katevikeysequenceparser.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <QChar>
00022 #include <QString>
00023 #include <QHash>
00024 class QKeyEvent;
00025
00026 #ifndef KATE_VI_KEYSEQUENCE_PARSER_H_INCLUDED
00027 #define KATE_VI_KEYSEQUENCE_PARSER_H_INCLUDED
00028
00034 class KateViKeySequenceParser
00035 {
00036 public:
00037 KateViKeySequenceParser();
00038
00039 const QString encodeKeySequence( const QString &keys ) const;
00040 const QString decodeKeySequence( const QString &keys ) const;
00041 QString qt2vi( int key ) const;
00042 int vi2qt( const QString &keypress ) const;
00043 char scanCodeToChar(quint32 code, Qt::KeyboardModifiers modifiers, bool isLetter) const;
00044 const QChar KeyEventToQChar(int keyCode, const QString &text, Qt::KeyboardModifiers mods, quint32 nativeScanCode) const;
00045
00046 private:
00047 void initKeyTables();
00048
00049 QHash<int, QString> *m_qt2katevi;
00050 QHash<QString, int> *m_katevi2qt;
00051 QHash<QString, int> *m_nameToKeyCode;
00052 QHash<int, QString> *m_keyCodeToName;
00053 };
00054
00055 #endif