Remove support for OSX 10.4 and below #2765
This commit is contained in:
parent
6e7adeac85
commit
929431f5fc
|
@ -20,31 +20,18 @@
|
||||||
#include "arch/Arch.h"
|
#include "arch/Arch.h"
|
||||||
#include "base/Log.h"
|
#include "base/Log.h"
|
||||||
|
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
#include <Carbon/Carbon.h>
|
#include <Carbon/Carbon.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
// Note that some virtual keys codes appear more than once. The
|
// Note that some virtual keys codes appear more than once. The
|
||||||
// first instance of a virtual key code maps to the KeyID that we
|
// first instance of a virtual key code maps to the KeyID that we
|
||||||
// want to generate for that code. The others are for mapping
|
// want to generate for that code. The others are for mapping
|
||||||
// different KeyIDs to a single key code.
|
// different KeyIDs to a single key code.
|
||||||
|
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
static const UInt32 s_shiftVK = kVK_Shift;
|
static const UInt32 s_shiftVK = kVK_Shift;
|
||||||
static const UInt32 s_controlVK = kVK_Control;
|
static const UInt32 s_controlVK = kVK_Control;
|
||||||
static const UInt32 s_altVK = kVK_Option;
|
static const UInt32 s_altVK = kVK_Option;
|
||||||
static const UInt32 s_superVK = kVK_Command;
|
static const UInt32 s_superVK = kVK_Command;
|
||||||
static const UInt32 s_capsLockVK = kVK_CapsLock;
|
static const UInt32 s_capsLockVK = kVK_CapsLock;
|
||||||
static const UInt32 s_numLockVK = kVK_ANSI_KeypadClear; // 71
|
static const UInt32 s_numLockVK = kVK_ANSI_KeypadClear; // 71
|
||||||
#else
|
|
||||||
// Hardcoded virtual key table on 10.4 and below.
|
|
||||||
static const UInt32 s_shiftVK = 56;
|
|
||||||
static const UInt32 s_controlVK = 59;
|
|
||||||
static const UInt32 s_altVK = 58;
|
|
||||||
static const UInt32 s_superVK = 55;
|
|
||||||
static const UInt32 s_capsLockVK = 57;
|
|
||||||
static const UInt32 s_numLockVK = 71;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const UInt32 s_osxNumLock = 1 << 16;
|
static const UInt32 s_osxNumLock = 1 << 16;
|
||||||
|
|
||||||
|
@ -54,7 +41,6 @@ public:
|
||||||
UInt32 m_virtualKey;
|
UInt32 m_virtualKey;
|
||||||
};
|
};
|
||||||
static const KeyEntry s_controlKeys[] = {
|
static const KeyEntry s_controlKeys[] = {
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
// cursor keys. if we don't do this we'll may still get these from
|
// cursor keys. if we don't do this we'll may still get these from
|
||||||
// the keyboard resource but they may not correspond to the arrow
|
// the keyboard resource but they may not correspond to the arrow
|
||||||
// keys.
|
// keys.
|
||||||
|
@ -103,56 +89,7 @@ static const KeyEntry s_controlKeys[] = {
|
||||||
{ kKeyKP_Divide, kVK_ANSI_KeypadDivide },
|
{ kKeyKP_Divide, kVK_ANSI_KeypadDivide },
|
||||||
{ kKeyKP_Subtract, kVK_ANSI_KeypadMinus },
|
{ kKeyKP_Subtract, kVK_ANSI_KeypadMinus },
|
||||||
{ kKeyKP_Enter, kVK_ANSI_KeypadEnter },
|
{ kKeyKP_Enter, kVK_ANSI_KeypadEnter },
|
||||||
#else
|
|
||||||
// Hardcoded virtual key table on 10.4 and below.
|
|
||||||
// cursor keys.
|
|
||||||
{ kKeyLeft, 123 },
|
|
||||||
{ kKeyRight, 124 },
|
|
||||||
{ kKeyUp, 126 },
|
|
||||||
{ kKeyDown, 125 },
|
|
||||||
{ kKeyHome, 115 },
|
|
||||||
{ kKeyEnd, 119 },
|
|
||||||
{ kKeyPageUp, 116 },
|
|
||||||
{ kKeyPageDown, 121 },
|
|
||||||
{ kKeyInsert, 114 },
|
|
||||||
|
|
||||||
// function keys
|
|
||||||
{ kKeyF1, 122 },
|
|
||||||
{ kKeyF2, 120 },
|
|
||||||
{ kKeyF3, 99 },
|
|
||||||
{ kKeyF4, 118 },
|
|
||||||
{ kKeyF5, 96 },
|
|
||||||
{ kKeyF6, 97 },
|
|
||||||
{ kKeyF7, 98 },
|
|
||||||
{ kKeyF8, 100 },
|
|
||||||
{ kKeyF9, 101 },
|
|
||||||
{ kKeyF10, 109 },
|
|
||||||
{ kKeyF11, 103 },
|
|
||||||
{ kKeyF12, 111 },
|
|
||||||
{ kKeyF13, 105 },
|
|
||||||
{ kKeyF14, 107 },
|
|
||||||
{ kKeyF15, 113 },
|
|
||||||
{ kKeyF16, 106 },
|
|
||||||
|
|
||||||
{ kKeyKP_0, 82 },
|
|
||||||
{ kKeyKP_1, 83 },
|
|
||||||
{ kKeyKP_2, 84 },
|
|
||||||
{ kKeyKP_3, 85 },
|
|
||||||
{ kKeyKP_4, 86 },
|
|
||||||
{ kKeyKP_5, 87 },
|
|
||||||
{ kKeyKP_6, 88 },
|
|
||||||
{ kKeyKP_7, 89 },
|
|
||||||
{ kKeyKP_8, 91 },
|
|
||||||
{ kKeyKP_9, 92 },
|
|
||||||
{ kKeyKP_Decimal, 65 },
|
|
||||||
{ kKeyKP_Equal, 81 },
|
|
||||||
{ kKeyKP_Multiply, 67 },
|
|
||||||
{ kKeyKP_Add, 69 },
|
|
||||||
{ kKeyKP_Divide, 75 },
|
|
||||||
{ kKeyKP_Subtract, 78 },
|
|
||||||
{ kKeyKP_Enter, 76 },
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// virtual key 110 is fn+enter and i have no idea what that's supposed
|
// virtual key 110 is fn+enter and i have no idea what that's supposed
|
||||||
// to map to. also the enter key with numlock on is a modifier but i
|
// to map to. also the enter key with numlock on is a modifier but i
|
||||||
// don't know which.
|
// don't know which.
|
||||||
|
@ -303,13 +240,8 @@ OSXKeyState::mapKeyFromEvent(KeyIDs& ids,
|
||||||
}
|
}
|
||||||
|
|
||||||
// get keyboard info
|
// get keyboard info
|
||||||
|
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
TISInputSourceRef currentKeyboardLayout = TISCopyCurrentKeyboardLayoutInputSource();
|
TISInputSourceRef currentKeyboardLayout = TISCopyCurrentKeyboardLayoutInputSource();
|
||||||
#else
|
|
||||||
KeyboardLayoutRef currentKeyboardLayout;
|
|
||||||
OSStatus status = KLGetCurrentKeyboardLayout(¤tKeyboardLayout);
|
|
||||||
#endif
|
|
||||||
if (currentKeyboardLayout == NULL) {
|
if (currentKeyboardLayout == NULL) {
|
||||||
return kKeyNone;
|
return kKeyNone;
|
||||||
}
|
}
|
||||||
|
@ -343,17 +275,10 @@ OSXKeyState::mapKeyFromEvent(KeyIDs& ids,
|
||||||
}
|
}
|
||||||
|
|
||||||
// translate via uchr resource
|
// translate via uchr resource
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
CFDataRef ref = (CFDataRef) TISGetInputSourceProperty(currentKeyboardLayout,
|
CFDataRef ref = (CFDataRef) TISGetInputSourceProperty(currentKeyboardLayout,
|
||||||
kTISPropertyUnicodeKeyLayoutData);
|
kTISPropertyUnicodeKeyLayoutData);
|
||||||
const UCKeyboardLayout* layout = (const UCKeyboardLayout*) CFDataGetBytePtr(ref);
|
const UCKeyboardLayout* layout = (const UCKeyboardLayout*) CFDataGetBytePtr(ref);
|
||||||
const bool layoutValid = (layout != NULL);
|
const bool layoutValid = (layout != NULL);
|
||||||
#else
|
|
||||||
const void* resource;
|
|
||||||
int err = KLGetKeyboardLayoutProperty(currentKeyboardLayout, kKLuchrData, &resource);
|
|
||||||
const bool layoutValid = (err == noErr);
|
|
||||||
const UCKeyboardLayout* layout = (const UCKeyboardLayout*)resource;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (layoutValid) {
|
if (layoutValid) {
|
||||||
// translate key
|
// translate key
|
||||||
|
@ -454,13 +379,7 @@ SInt32
|
||||||
OSXKeyState::pollActiveGroup() const
|
OSXKeyState::pollActiveGroup() const
|
||||||
{
|
{
|
||||||
bool layoutValid = true;
|
bool layoutValid = true;
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
TISInputSourceRef keyboardLayout = TISCopyCurrentKeyboardLayoutInputSource();
|
TISInputSourceRef keyboardLayout = TISCopyCurrentKeyboardLayoutInputSource();
|
||||||
#else
|
|
||||||
KeyboardLayoutRef keyboardLayout;
|
|
||||||
OSStatus status = KLGetCurrentKeyboardLayout(&keyboardLayout);
|
|
||||||
layoutValid = (status == noErr);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (layoutValid) {
|
if (layoutValid) {
|
||||||
GroupMap::const_iterator i = m_groupMap.find(keyboardLayout);
|
GroupMap::const_iterator i = m_groupMap.find(keyboardLayout);
|
||||||
|
@ -508,16 +427,11 @@ OSXKeyState::getKeyMap(synergy::KeyMap& keyMap)
|
||||||
|
|
||||||
// add regular keys
|
// add regular keys
|
||||||
// try uchr resource first
|
// try uchr resource first
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
CFDataRef resourceRef = (CFDataRef)TISGetInputSourceProperty(
|
CFDataRef resourceRef = (CFDataRef)TISGetInputSourceProperty(
|
||||||
m_groups[g], kTISPropertyUnicodeKeyLayoutData);
|
m_groups[g], kTISPropertyUnicodeKeyLayoutData);
|
||||||
layoutValid = resourceRef != NULL;
|
layoutValid = resourceRef != NULL;
|
||||||
if (layoutValid)
|
if (layoutValid)
|
||||||
resource = CFDataGetBytePtr(resourceRef);
|
resource = CFDataGetBytePtr(resourceRef);
|
||||||
#else
|
|
||||||
layoutValid = KLGetKeyboardLayoutProperty(
|
|
||||||
m_groups[g], kKLuchrData, &resource);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (layoutValid) {
|
if (layoutValid) {
|
||||||
CUCHRKeyResource uchr(resource, keyboardType);
|
CUCHRKeyResource uchr(resource, keyboardType);
|
||||||
|
@ -862,7 +776,6 @@ OSXKeyState::getGroups(GroupList& groups) const
|
||||||
CFIndex n;
|
CFIndex n;
|
||||||
bool gotLayouts = false;
|
bool gotLayouts = false;
|
||||||
|
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
// get number of layouts
|
// get number of layouts
|
||||||
CFStringRef keys[] = { kTISPropertyInputSourceCategory };
|
CFStringRef keys[] = { kTISPropertyInputSourceCategory };
|
||||||
CFStringRef values[] = { kTISCategoryKeyboardInputSource };
|
CFStringRef values[] = { kTISCategoryKeyboardInputSource };
|
||||||
|
@ -870,10 +783,6 @@ OSXKeyState::getGroups(GroupList& groups) const
|
||||||
CFArrayRef kbds = TISCreateInputSourceList(dict, false);
|
CFArrayRef kbds = TISCreateInputSourceList(dict, false);
|
||||||
n = CFArrayGetCount(kbds);
|
n = CFArrayGetCount(kbds);
|
||||||
gotLayouts = (n != 0);
|
gotLayouts = (n != 0);
|
||||||
#else
|
|
||||||
OSStatus status = KLGetKeyboardLayoutCount(&n);
|
|
||||||
gotLayouts = (status == noErr);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!gotLayouts) {
|
if (!gotLayouts) {
|
||||||
LOG((CLOG_DEBUG1 "can't get keyboard layouts"));
|
LOG((CLOG_DEBUG1 "can't get keyboard layouts"));
|
||||||
|
@ -884,14 +793,9 @@ OSXKeyState::getGroups(GroupList& groups) const
|
||||||
groups.clear();
|
groups.clear();
|
||||||
for (CFIndex i = 0; i < n; ++i) {
|
for (CFIndex i = 0; i < n; ++i) {
|
||||||
bool addToGroups = true;
|
bool addToGroups = true;
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
TISInputSourceRef keyboardLayout =
|
TISInputSourceRef keyboardLayout =
|
||||||
(TISInputSourceRef)CFArrayGetValueAtIndex(kbds, i);
|
(TISInputSourceRef)CFArrayGetValueAtIndex(kbds, i);
|
||||||
#else
|
|
||||||
KeyboardLayoutRef keyboardLayout;
|
|
||||||
status = KLGetKeyboardLayoutAtIndex(i, &keyboardLayout);
|
|
||||||
addToGroups == (status == noErr);
|
|
||||||
#endif
|
|
||||||
if (addToGroups)
|
if (addToGroups)
|
||||||
groups.push_back(keyboardLayout);
|
groups.push_back(keyboardLayout);
|
||||||
}
|
}
|
||||||
|
@ -901,11 +805,7 @@ OSXKeyState::getGroups(GroupList& groups) const
|
||||||
void
|
void
|
||||||
OSXKeyState::setGroup(SInt32 group)
|
OSXKeyState::setGroup(SInt32 group)
|
||||||
{
|
{
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
TISSetInputMethodKeyboardLayoutOverride(m_groups[group]);
|
TISSetInputMethodKeyboardLayoutOverride(m_groups[group]);
|
||||||
#else
|
|
||||||
KLSetCurrentKeyboardLayout(m_groups[group]);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1050,14 +950,11 @@ OSXKeyState::KeyResource::getKeyID(UInt8 c)
|
||||||
str[0] = static_cast<char>(c);
|
str[0] = static_cast<char>(c);
|
||||||
str[1] = 0;
|
str[1] = 0;
|
||||||
|
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
// get current keyboard script
|
// get current keyboard script
|
||||||
TISInputSourceRef isref = TISCopyCurrentKeyboardInputSource();
|
TISInputSourceRef isref = TISCopyCurrentKeyboardInputSource();
|
||||||
CFArrayRef langs = (CFArrayRef) TISGetInputSourceProperty(isref, kTISPropertyInputSourceLanguages);
|
CFArrayRef langs = (CFArrayRef) TISGetInputSourceProperty(isref, kTISPropertyInputSourceLanguages);
|
||||||
CFStringEncoding encoding = CFStringConvertIANACharSetNameToEncoding((CFStringRef)CFArrayGetValueAtIndex(langs, 0));
|
CFStringEncoding encoding = CFStringConvertIANACharSetNameToEncoding(
|
||||||
#else
|
(CFStringRef)CFArrayGetValueAtIndex(langs, 0));
|
||||||
CFStringEncoding encoding = GetScriptManagerVariable(smKeyScript);
|
|
||||||
#endif
|
|
||||||
// convert to unicode
|
// convert to unicode
|
||||||
CFStringRef cfString =
|
CFStringRef cfString =
|
||||||
CFStringCreateWithCStringNoCopy(
|
CFStringCreateWithCStringNoCopy(
|
||||||
|
|
|
@ -25,11 +25,7 @@
|
||||||
|
|
||||||
#include <Carbon/Carbon.h>
|
#include <Carbon/Carbon.h>
|
||||||
|
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
typedef TISInputSourceRef KeyLayout;
|
||||||
typedef TISInputSourceRef KeyLayout;
|
|
||||||
#else
|
|
||||||
typedef KeyboardLayoutRef KeyLayout;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//! OS X key state
|
//! OS X key state
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -136,15 +136,7 @@ OSXScreen::OSXScreen(IEventQueue* events, bool isPrimary, bool autoShowHideCurso
|
||||||
}
|
}
|
||||||
|
|
||||||
// install display manager notification handler
|
// install display manager notification handler
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
CGDisplayRegisterReconfigurationCallback(displayReconfigurationCallback, this);
|
CGDisplayRegisterReconfigurationCallback(displayReconfigurationCallback, this);
|
||||||
#else
|
|
||||||
m_displayManagerNotificationUPP =
|
|
||||||
NewDMExtendedNotificationUPP(displayManagerCallback);
|
|
||||||
OSStatus err = GetCurrentProcess(&m_PSN);
|
|
||||||
err = DMRegisterExtendedNotifyProc(m_displayManagerNotificationUPP,
|
|
||||||
this, 0, &m_PSN);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// install fast user switching event handler
|
// install fast user switching event handler
|
||||||
EventTypeSpec switchEventTypes[2];
|
EventTypeSpec switchEventTypes[2];
|
||||||
|
@ -182,24 +174,8 @@ OSXScreen::OSXScreen(IEventQueue* events, bool isPrimary, bool autoShowHideCurso
|
||||||
if (m_switchEventHandlerRef != 0) {
|
if (m_switchEventHandlerRef != 0) {
|
||||||
RemoveEventHandler(m_switchEventHandlerRef);
|
RemoveEventHandler(m_switchEventHandlerRef);
|
||||||
}
|
}
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
CGDisplayRemoveReconfigurationCallback(displayReconfigurationCallback, this);
|
CGDisplayRemoveReconfigurationCallback(displayReconfigurationCallback, this);
|
||||||
#else
|
|
||||||
if (m_displayManagerNotificationUPP != NULL) {
|
|
||||||
DMRemoveExtendedNotifyProc(m_displayManagerNotificationUPP,
|
|
||||||
NULL, &m_PSN, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_hiddenWindow) {
|
|
||||||
ReleaseWindow(m_hiddenWindow);
|
|
||||||
m_hiddenWindow = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_userInputWindow) {
|
|
||||||
ReleaseWindow(m_userInputWindow);
|
|
||||||
m_userInputWindow = NULL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
delete m_keyState;
|
delete m_keyState;
|
||||||
delete m_screensaver;
|
delete m_screensaver;
|
||||||
|
@ -245,22 +221,7 @@ OSXScreen::~OSXScreen()
|
||||||
|
|
||||||
RemoveEventHandler(m_switchEventHandlerRef);
|
RemoveEventHandler(m_switchEventHandlerRef);
|
||||||
|
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
CGDisplayRemoveReconfigurationCallback(displayReconfigurationCallback, this);
|
CGDisplayRemoveReconfigurationCallback(displayReconfigurationCallback, this);
|
||||||
#else
|
|
||||||
DMRemoveExtendedNotifyProc(m_displayManagerNotificationUPP,
|
|
||||||
NULL, &m_PSN, 0);
|
|
||||||
|
|
||||||
if (m_hiddenWindow) {
|
|
||||||
ReleaseWindow(m_hiddenWindow);
|
|
||||||
m_hiddenWindow = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_userInputWindow) {
|
|
||||||
ReleaseWindow(m_userInputWindow);
|
|
||||||
m_userInputWindow = NULL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
delete m_keyState;
|
delete m_keyState;
|
||||||
delete m_screensaver;
|
delete m_screensaver;
|
||||||
|
@ -705,7 +666,6 @@ void
|
||||||
OSXScreen::fakeMouseWheel(SInt32 xDelta, SInt32 yDelta) const
|
OSXScreen::fakeMouseWheel(SInt32 xDelta, SInt32 yDelta) const
|
||||||
{
|
{
|
||||||
if (xDelta != 0 || yDelta != 0) {
|
if (xDelta != 0 || yDelta != 0) {
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
// create a scroll event, post it and release it. not sure if kCGScrollEventUnitLine
|
// create a scroll event, post it and release it. not sure if kCGScrollEventUnitLine
|
||||||
// is the right choice here over kCGScrollEventUnitPixel
|
// is the right choice here over kCGScrollEventUnitPixel
|
||||||
CGEventRef scrollEvent = CGEventCreateScrollWheelEvent(
|
CGEventRef scrollEvent = CGEventCreateScrollWheelEvent(
|
||||||
|
@ -719,12 +679,6 @@ OSXScreen::fakeMouseWheel(SInt32 xDelta, SInt32 yDelta) const
|
||||||
|
|
||||||
CGEventPost(kCGHIDEventTap, scrollEvent);
|
CGEventPost(kCGHIDEventTap, scrollEvent);
|
||||||
CFRelease(scrollEvent);
|
CFRelease(scrollEvent);
|
||||||
#else
|
|
||||||
|
|
||||||
CGPostScrollWheelEvent(
|
|
||||||
2, mapScrollWheelFromSynergy(yDelta),
|
|
||||||
-mapScrollWheelFromSynergy(xDelta));
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1236,43 +1190,7 @@ OSXScreen::handleClipboardCheck(const Event&, void*)
|
||||||
checkClipboards();
|
checkClipboards();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(MAC_OS_X_VERSION_10_5)
|
void
|
||||||
pascal void
|
|
||||||
OSXScreen::displayManagerCallback(void* inUserData, SInt16 inMessage, void*)
|
|
||||||
{
|
|
||||||
OSXScreen* screen = (OSXScreen*)inUserData;
|
|
||||||
|
|
||||||
if (inMessage == kDMNotifyEvent) {
|
|
||||||
screen->onDisplayChange();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
OSXScreen::onDisplayChange()
|
|
||||||
{
|
|
||||||
// screen resolution may have changed. save old shape.
|
|
||||||
SInt32 xOld = m_x, yOld = m_y, wOld = m_w, hOld = m_h;
|
|
||||||
|
|
||||||
// update shape
|
|
||||||
updateScreenShape();
|
|
||||||
|
|
||||||
// do nothing if resolution hasn't changed
|
|
||||||
if (xOld != m_x || yOld != m_y || wOld != m_w || hOld != m_h) {
|
|
||||||
if (m_isPrimary) {
|
|
||||||
// warp mouse to center if off screen
|
|
||||||
if (!m_isOnScreen) {
|
|
||||||
warpCursor(m_xCenter, m_yCenter);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// send new screen info
|
|
||||||
sendEvent(m_events->forIPrimaryScreen().shapeChanged());
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
void
|
|
||||||
OSXScreen::displayReconfigurationCallback(CGDirectDisplayID displayID, CGDisplayChangeSummaryFlags flags, void* inUserData)
|
OSXScreen::displayReconfigurationCallback(CGDirectDisplayID displayID, CGDisplayChangeSummaryFlags flags, void* inUserData)
|
||||||
{
|
{
|
||||||
OSXScreen* screen = (OSXScreen*)inUserData;
|
OSXScreen* screen = (OSXScreen*)inUserData;
|
||||||
|
@ -1293,7 +1211,6 @@ OSXScreen::displayReconfigurationCallback(CGDirectDisplayID displayID, CGDisplay
|
||||||
screen->updateScreenShape(displayID, flags);
|
screen->updateScreenShape(displayID, flags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
OSXScreen::onKey(CGEventRef event)
|
OSXScreen::onKey(CGEventRef event)
|
||||||
|
|
|
@ -125,9 +125,6 @@ private:
|
||||||
bool onMouseButton(bool pressed, UInt16 macButton);
|
bool onMouseButton(bool pressed, UInt16 macButton);
|
||||||
bool onMouseWheel(SInt32 xDelta, SInt32 yDelta) const;
|
bool onMouseWheel(SInt32 xDelta, SInt32 yDelta) const;
|
||||||
|
|
||||||
#if !defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
bool onDisplayChange();
|
|
||||||
#endif
|
|
||||||
void constructMouseButtonEventMap();
|
void constructMouseButtonEventMap();
|
||||||
|
|
||||||
bool onKey(CGEventRef event);
|
bool onKey(CGEventRef event);
|
||||||
|
@ -165,14 +162,10 @@ private:
|
||||||
// clipboard check timer handler
|
// clipboard check timer handler
|
||||||
void handleClipboardCheck(const Event&, void*);
|
void handleClipboardCheck(const Event&, void*);
|
||||||
|
|
||||||
#if defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
// Resolution switch callback
|
// Resolution switch callback
|
||||||
static void displayReconfigurationCallback(CGDirectDisplayID,
|
static void displayReconfigurationCallback(CGDirectDisplayID,
|
||||||
CGDisplayChangeSummaryFlags, void*);
|
CGDisplayChangeSummaryFlags, void*);
|
||||||
#else
|
|
||||||
static pascal void displayManagerCallback(void* inUserData,
|
|
||||||
SInt16 inMessage, void* inNotifyData);
|
|
||||||
#endif
|
|
||||||
// fast user switch callback
|
// fast user switch callback
|
||||||
static pascal OSStatus
|
static pascal OSStatus
|
||||||
userSwitchCallback(EventHandlerCallRef nextHandler,
|
userSwitchCallback(EventHandlerCallRef nextHandler,
|
||||||
|
@ -305,12 +298,6 @@ private:
|
||||||
// does not have focus.
|
// does not have focus.
|
||||||
WindowRef m_userInputWindow;
|
WindowRef m_userInputWindow;
|
||||||
|
|
||||||
#if !defined(MAC_OS_X_VERSION_10_5)
|
|
||||||
// display manager stuff (to get screen resolution switches).
|
|
||||||
DMExtendedNotificationUPP m_displayManagerNotificationUPP;
|
|
||||||
ProcessSerialNumber m_PSN;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// fast user switching
|
// fast user switching
|
||||||
EventHandlerRef m_switchEventHandlerRef;
|
EventHandlerRef m_switchEventHandlerRef;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue