mirror of
https://github.com/debauchee/barrier.git
synced 2025-06-15 09:11:41 +02:00
merged 1.4 r1043:1044 into trunk
This commit is contained in:
parent
7f4138a376
commit
2fe11744cf
28 changed files with 1101 additions and 267 deletions
|
@ -121,6 +121,23 @@ static const CKeyEntry s_controlKeys[] = {
|
|||
|
||||
COSXKeyState::COSXKeyState() :
|
||||
m_deadKeyState(0)
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
COSXKeyState::COSXKeyState(IEventQueue& eventQueue, CKeyMap& keyMap) :
|
||||
CKeyState(eventQueue, keyMap),
|
||||
m_deadKeyState(0)
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
COSXKeyState::~COSXKeyState()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
COSXKeyState::init()
|
||||
{
|
||||
// initialize modifier key values
|
||||
shiftPressed = false;
|
||||
|
@ -137,33 +154,31 @@ COSXKeyState::COSXKeyState() :
|
|||
}
|
||||
}
|
||||
|
||||
COSXKeyState::~COSXKeyState()
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
|
||||
KeyModifierMask
|
||||
COSXKeyState::mapModifiersFromOSX(UInt32 mask) const
|
||||
{
|
||||
LOG((CLOG_DEBUG1 "mask: %04x", mask));
|
||||
// convert
|
||||
LOG((CLOG_DEBUG1 "mask: %04x", mask));
|
||||
|
||||
// previously this used the kCGEventFlagMask* enums, which would
|
||||
// not work, since GetCurrentKeyModifiers doesn't return a mask
|
||||
// containing those values; instead *Key enums should be used.
|
||||
KeyModifierMask outMask = 0;
|
||||
if ((mask & kCGEventFlagMaskShift) != 0) {
|
||||
if ((mask & shiftKey) != 0) {
|
||||
outMask |= KeyModifierShift;
|
||||
}
|
||||
if ((mask & kCGEventFlagMaskControl) != 0) {
|
||||
if ((mask & controlKey) != 0) {
|
||||
outMask |= KeyModifierControl;
|
||||
}
|
||||
if ((mask & kCGEventFlagMaskAlternate) != 0) {
|
||||
if ((mask & cmdKey) != 0) {
|
||||
outMask |= KeyModifierAlt;
|
||||
}
|
||||
if ((mask & kCGEventFlagMaskCommand) != 0) {
|
||||
if ((mask & optionKey) != 0) {
|
||||
outMask |= KeyModifierSuper;
|
||||
}
|
||||
if ((mask & kCGEventFlagMaskAlphaShift) != 0) {
|
||||
if ((mask & alphaLock) != 0) {
|
||||
outMask |= KeyModifierCapsLock;
|
||||
}
|
||||
if ((mask & kCGEventFlagMaskNumericPad) != 0) {
|
||||
if ((mask & s_osxNumLock) != 0) {
|
||||
outMask |= KeyModifierNumLock;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue