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

(abd78e6d005fafa1f54b78c9043717ce80923846)

#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 83 of file qwindowskeymapper.cpp.

◆ LANG_PASHTO

#define LANG_PASHTO   0x63

Definition at line 77 of file qwindowskeymapper.cpp.

◆ LANG_SYRIAC

#define LANG_SYRIAC   0x5a

Definition at line 80 of file qwindowskeymapper.cpp.

◆ VK_OEM_3

#define VK_OEM_3   0xC0

Definition at line 89 of file qwindowskeymapper.cpp.

◆ VK_OEM_PLUS

#define VK_OEM_PLUS   0xBB

Definition at line 86 of file qwindowskeymapper.cpp.

Function Documentation

◆ asciiToKeycode()

int asciiToKeycode ( char a,
int state )
inlinestatic

Definition at line 583 of file qwindowskeymapper.cpp.

◆ clearKeyRecorderOnApplicationInActive()

void clearKeyRecorderOnApplicationInActive ( Qt::ApplicationState state)
static

Definition at line 130 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 93 of file qwindowskeymapper.cpp.

◆ getTitleBarHeight()

int getTitleBarHeight ( const HWND hwnd)
inlinestaticnodiscard

Definition at line 734 of file qwindowskeymapper.cpp.

◆ isAltGr()

bool isAltGr ( MSG * msg)
static

Definition at line 899 of file qwindowskeymapper.cpp.

◆ isSystemMenuOffsetNeeded()

bool isSystemMenuOffsetNeeded ( const Qt::WindowFlags flags)
inlinestaticnodiscard

Definition at line 747 of file qwindowskeymapper.cpp.

◆ messageKeyText()

QString messageKeyText ( const MSG & msg)
inlinestatic

Definition at line 728 of file qwindowskeymapper.cpp.

◆ operator<<()

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

Definition at line 521 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 805 of file qwindowskeymapper.cpp.

◆ setKbdState()

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

Definition at line 626 of file qwindowskeymapper.cpp.

◆ showSystemMenu()

void showSystemMenu ( QWindow * w)
static

Definition at line 755 of file qwindowskeymapper.cpp.

◆ toKeyOrUnicode()

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

Definition at line 555 of file qwindowskeymapper.cpp.

◆ winceKeyBend()

quint32 winceKeyBend ( quint32 keyCode)
inline

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

Definition at line 549 of file qwindowskeymapper.cpp.

Variable Documentation

◆ CmdTbl

const uint CmdTbl
static

Definition at line 447 of file qwindowskeymapper.cpp.

◆ key_recorder

KeyRecorder key_recorder
static

Definition at line 128 of file qwindowskeymapper.cpp.

Referenced by clearKeyRecorderOnApplicationInActive().

◆ KeyTbl

const uint KeyTbl
static

Definition at line 183 of file qwindowskeymapper.cpp.

◆ ModsTbl

◆ NumMods

const size_t NumMods = sizeof ModsTbl / sizeof *ModsTbl
static

Definition at line 517 of file qwindowskeymapper.cpp.

◆ QT_MAX_KEY_RECORDINGS

const int QT_MAX_KEY_RECORDINGS = 64
static

Definition at line 117 of file qwindowskeymapper.cpp.

Referenced by KeyRecorder::storeKey().