Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qwindowskeymapper.cpp File Reference

(4d9f99c4ea70cdae58c80e1bfdbabefe3abb455f)

#include "qwindowskeymapper.h"
#include "qwindowscontext.h"
#include "qwindowsintegration.h"
#include "qwindowswindow.h"
#include "qwindowsinputcontext.h"
#include <QtGui/qguiapplication.h>
#include <QtGui/qwindow.h>
#include <qpa/qwindowsysteminterface.h>
#include <private/qguiapplication_p.h>
#include <private/qhighdpiscaling_p.h>
#include <QtGui/qevent.h>
#include <QtGui/private/qwindowsguieventdispatcher_p.h>
#include <QtCore/private/qdebug_p.h>
#include <QtCore/private/qtools_p.h>
Include dependency graph for qwindowskeymapper.cpp:

Go to the source code of this file.

Classes

struct  KeyRecord
struct  KeyRecorder

Macros

#define LANG_PASHTO   0x63
#define LANG_SYRIAC   0x5a
#define LANG_DIVEHI   0x65
#define VK_OEM_PLUS   0xBB
#define VK_OEM_3   0xC0
#define enabled   (MF_BYCOMMAND | MFS_ENABLED)
#define disabled   (MF_BYCOMMAND | MFS_GRAYED)

Functions

static void clearKeyRecorderOnApplicationInActive (Qt::ApplicationState state)
static constexpr quint32 getScancode (const MSG &msg)
QDebug operator<< (QDebug d, const KeyboardLayoutItem &k)
quint32 winceKeyBend (quint32 keyCode)
static quint32 toKeyOrUnicode (quint32 vk, quint32 scancode, unsigned char *kbdBuffer, bool *isDeadkey=nullptr)
static int asciiToKeycode (char a, int state)
void setKbdState (unsigned char *kbd, bool shift, bool ctrl, bool alt)
static QString messageKeyText (const MSG &msg)
static int getTitleBarHeight (const HWND hwnd)
static bool isSystemMenuOffsetNeeded (const Qt::WindowFlags flags)
static void showSystemMenu (QWindow *w)
static void sendExtendedPressRelease (QWindow *w, unsigned long timestamp, int k, Qt::KeyboardModifiers mods, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text=QString(), bool autorep=false, ushort count=1)
static bool isAltGr (MSG *msg)

Variables

static const int QT_MAX_KEY_RECORDINGS = 64
static KeyRecorder key_recorder
static const uint KeyTbl []
static const uint CmdTbl []
static const Qt::KeyboardModifiers ModsTbl []
static const size_t NumMods = sizeof ModsTbl / sizeof *ModsTbl

Macro Definition Documentation

◆ disabled

#define disabled   (MF_BYCOMMAND | MFS_GRAYED)

◆ enabled

#define enabled   (MF_BYCOMMAND | MFS_ENABLED)

◆ LANG_DIVEHI

#define LANG_DIVEHI   0x65

Definition at line 82 of file qwindowskeymapper.cpp.

◆ LANG_PASHTO

#define LANG_PASHTO   0x63

Definition at line 76 of file qwindowskeymapper.cpp.

◆ LANG_SYRIAC

#define LANG_SYRIAC   0x5a

Definition at line 79 of file qwindowskeymapper.cpp.

◆ VK_OEM_3

#define VK_OEM_3   0xC0

Definition at line 88 of file qwindowskeymapper.cpp.

◆ VK_OEM_PLUS

#define VK_OEM_PLUS   0xBB

Definition at line 85 of file qwindowskeymapper.cpp.

Function Documentation

◆ asciiToKeycode()

int asciiToKeycode ( char a,
int state )
inlinestatic

Definition at line 582 of file qwindowskeymapper.cpp.

◆ clearKeyRecorderOnApplicationInActive()

void clearKeyRecorderOnApplicationInActive ( Qt::ApplicationState state)
static

Definition at line 129 of file qwindowskeymapper.cpp.

References KeyRecorder::clearKeys(), and key_recorder.

Here is the call graph for this function:

◆ getScancode()

constexpr quint32 getScancode ( const MSG & msg)
staticconstexpr

Definition at line 92 of file qwindowskeymapper.cpp.

◆ getTitleBarHeight()

int getTitleBarHeight ( const HWND hwnd)
inlinestaticnodiscard

Definition at line 733 of file qwindowskeymapper.cpp.

◆ isAltGr()

bool isAltGr ( MSG * msg)
static

Definition at line 898 of file qwindowskeymapper.cpp.

◆ isSystemMenuOffsetNeeded()

bool isSystemMenuOffsetNeeded ( const Qt::WindowFlags flags)
inlinestaticnodiscard

Definition at line 746 of file qwindowskeymapper.cpp.

◆ messageKeyText()

QString messageKeyText ( const MSG & msg)
inlinestatic

Definition at line 727 of file qwindowskeymapper.cpp.

◆ operator<<()

QDebug operator<< ( QDebug d,
const KeyboardLayoutItem & k )

Definition at line 520 of file qwindowskeymapper.cpp.

◆ sendExtendedPressRelease()

void sendExtendedPressRelease ( QWindow * w,
unsigned long timestamp,
int k,
Qt::KeyboardModifiers mods,
quint32 nativeScanCode,
quint32 nativeVirtualKey,
quint32 nativeModifiers,
const QString & text = QString(),
bool autorep = false,
ushort count = 1 )
inlinestatic

Definition at line 804 of file qwindowskeymapper.cpp.

◆ setKbdState()

void setKbdState ( unsigned char * kbd,
bool shift,
bool ctrl,
bool alt )
inline

Definition at line 625 of file qwindowskeymapper.cpp.

◆ showSystemMenu()

void showSystemMenu ( QWindow * w)
static

Definition at line 754 of file qwindowskeymapper.cpp.

◆ toKeyOrUnicode()

quint32 toKeyOrUnicode ( quint32 vk,
quint32 scancode,
unsigned char * kbdBuffer,
bool * isDeadkey = nullptr )
inlinestatic

Definition at line 554 of file qwindowskeymapper.cpp.

◆ winceKeyBend()

quint32 winceKeyBend ( quint32 keyCode)
inline

Remap return or action key to select key for windows mobile.

Definition at line 548 of file qwindowskeymapper.cpp.

Variable Documentation

◆ CmdTbl

const uint CmdTbl
static

Definition at line 446 of file qwindowskeymapper.cpp.

◆ key_recorder

KeyRecorder key_recorder
static

Definition at line 127 of file qwindowskeymapper.cpp.

Referenced by clearKeyRecorderOnApplicationInActive().

◆ KeyTbl

const uint KeyTbl
static

Definition at line 182 of file qwindowskeymapper.cpp.

◆ ModsTbl

◆ NumMods

const size_t NumMods = sizeof ModsTbl / sizeof *ModsTbl
static

Definition at line 516 of file qwindowskeymapper.cpp.

◆ QT_MAX_KEY_RECORDINGS

const int QT_MAX_KEY_RECORDINGS = 64
static

Definition at line 116 of file qwindowskeymapper.cpp.

Referenced by KeyRecorder::storeKey().