キーボードのキーを表す文字列を、 Qt :: Key(またはその他)のようなキーコード列挙型に変換したいと思います。変換の例は次のとおりです。
"Ctrl"
にQt::Key_Control
"Up"
にQt::Key_Up
"a"
にQt::Key_A
"5"
にQt::Key_5
ご覧のとおり、上記には英数字キーだけでなく、修飾子と特殊キーも含まれています。私はQtキーコード列挙型に接続していませんが、QtQKeySequence
のfromString
静的関数にこの解析機能があるようです(この直接リンクを参照)。
QKeySequence fromString(const QString & str, SequenceFormat format);
あなたは私がこの変換を必要とする理由としてかもしれません。さて、 GhostMouseによって生成されたデータファイルがあります。入力した内容のログです。これが私の入力例です" It "
:
{SPACE down}
{Delay 0.08}
{SPACE up}
{Delay 2.25}
{SHIFT down}
{Delay 0.11}
{i down}
{Delay 0.02}
{SHIFT up}
{Delay 0.03}
{i up}
{Delay 0.05}
{t down}
{Delay 0.08}
{t up}
{Delay 0.05}
{SPACE down}
{Delay 0.12}
{SPACE up}
したがって、文字列「SPACE」と、このデータファイル内のキーを表す他のすべての文字列を一意のに変換する方法が必要ですint
。