[DEBUG] MacOs ==> bug on the alt-left

This commit is contained in:
Edouard DUPIN 2017-08-11 23:06:30 +02:00
parent 6e2eea031a
commit 3f92bff9a0
3 changed files with 26 additions and 25 deletions

View File

@ -90,7 +90,7 @@ static std::vector<std::pair<uint16_t,unichar>> g_listlasteventDown;
// We remap it to the correct tabulation. // We remap it to the correct tabulation.
c = 9; c = 9;
} }
GALE_WARNING("Key Event " << c << " = '" << char(c) << "' isDown=" << _isDown << " keycode=" << keycode); GALE_VERBOSE("Key Event " << c << " = '" << char(c) << "' isDown=" << _isDown << " keycode=" << keycode);
bool find = true; bool find = true;
enum gale::key::keyboard keyInput; enum gale::key::keyboard keyInput;
switch (c) { switch (c) {
@ -235,13 +235,13 @@ static std::vector<std::pair<uint16_t,unichar>> g_listlasteventDown;
if ((bitField & flags) != 0) { if ((bitField & flags) != 0) {
GALE_VERBOSE("Flag change: " << key); GALE_VERBOSE("Flag change: " << key);
if (guiKeyBoardMode.get(key) == false) { if (guiKeyBoardMode.get(key) == false) {
GALE_WARNING(" " << key << " DOWN"); GALE_DEBUG(" " << key << " DOWN");
guiKeyBoardMode.update(key, true); guiKeyBoardMode.update(key, true);
MacOs::setKeyboardMove(guiKeyBoardMode, key, true, false); MacOs::setKeyboardMove(guiKeyBoardMode, key, true, false);
} }
} else { } else {
if (guiKeyBoardMode.get(key) == true) { if (guiKeyBoardMode.get(key) == true) {
GALE_WARNING(" " << key << " UP"); GALE_DEBUG(" " << key << " UP");
guiKeyBoardMode.update(key, false); guiKeyBoardMode.update(key, false);
MacOs::setKeyboardMove(guiKeyBoardMode, key, false, false); MacOs::setKeyboardMove(guiKeyBoardMode, key, false, false);
} }
@ -250,7 +250,7 @@ static std::vector<std::pair<uint16_t,unichar>> g_listlasteventDown;
- (void)flagsChanged:(NSEvent *)theEvent { - (void)flagsChanged:(NSEvent *)theEvent {
uint32_t bitField = [theEvent modifierFlags]; uint32_t bitField = [theEvent modifierFlags];
GALE_ERROR("flagsChanged : " << std::hex << [theEvent modifierFlags]); GALE_VERBOSE("flagsChanged : " << std::hex << [theEvent modifierFlags]);
#ifdef __MAC_10_12 #ifdef __MAC_10_12
[self flagsUpdate:bitField: NSEventModifierFlagCapsLock: gale::key::keyboard::capLock]; [self flagsUpdate:bitField: NSEventModifierFlagCapsLock: gale::key::keyboard::capLock];
#else #else
@ -294,11 +294,11 @@ static std::vector<std::pair<uint16_t,unichar>> g_listlasteventDown;
#else #else
if ((bitField & NSFunctionKeyMask) != 0) { if ((bitField & NSFunctionKeyMask) != 0) {
#endif #endif
GALE_WARNING("NSEventModifierFlagFunction"); GALE_VERBOSE("NSEventModifierFlagFunction");
MacOs::setKeyboardMove(guiKeyBoardMode, gale::key::keyboard::contextMenu, true, false); MacOs::setKeyboardMove(guiKeyBoardMode, gale::key::keyboard::contextMenu, true, false);
MacOs::setKeyboardMove(guiKeyBoardMode, gale::key::keyboard::contextMenu, false, false); MacOs::setKeyboardMove(guiKeyBoardMode, gale::key::keyboard::contextMenu, false, false);
} }
GALE_WARNING(" ==> new state special: " << etk::to_string(guiKeyBoardMode)); GALE_VERBOSE(" ==> new state special: " << etk::to_string(guiKeyBoardMode));
} }
// this generate all the event entry availlable ==> like a big keep focus ... // this generate all the event entry availlable ==> like a big keep focus ...

View File

@ -210,7 +210,7 @@ class X11Interface : public gale::Context {
} }
createX11Context(); createX11Context();
createOGlContext(); createOGlContext();
// reset the Atom properties ... // Reset the Atom properties.
XAtomSelection = XInternAtom(m_display, "PRIMARY", 0); XAtomSelection = XInternAtom(m_display, "PRIMARY", 0);
XAtomClipBoard = XInternAtom(m_display, "CLIPBOARD", 0); XAtomClipBoard = XInternAtom(m_display, "CLIPBOARD", 0);
XAtomTargetString = XInternAtom(m_display, "STRING", 0); XAtomTargetString = XInternAtom(m_display, "STRING", 0);
@ -344,9 +344,9 @@ class X11Interface : public gale::Context {
char * atomNameSelection = XGetAtomName(m_display, req->selection); char * atomNameSelection = XGetAtomName(m_display, req->selection);
char * atomNameTarget = XGetAtomName(m_display, req->target); char * atomNameTarget = XGetAtomName(m_display, req->target);
GALE_INFO(" from: " << atomNameProperty << " request=" << atomNameSelection << " in " << atomNameTarget); GALE_INFO(" from: " << atomNameProperty << " request=" << atomNameSelection << " in " << atomNameTarget);
if (nullptr != atomNameProperty) { XFree(atomNameProperty); } if (atomNameProperty != nullptr) { XFree(atomNameProperty); }
if (nullptr != atomNameSelection) { XFree(atomNameSelection); } if (atomNameSelection != nullptr) { XFree(atomNameSelection); }
if (nullptr != atomNameTarget) { XFree(atomNameTarget); } if (atomNameTarget != nullptr) { XFree(atomNameTarget); }
} }
#endif #endif
@ -586,6 +586,7 @@ class X11Interface : public gale::Context {
X11_INFO("X11 event : " << event.type << " = 'KeyPress/KeyRelease' "); X11_INFO("X11 event : " << event.type << " = 'KeyPress/KeyRelease' ");
{ {
X11_DEBUG("eventKey : " << event.xkey.keycode << " state : " << event.xkey.state); X11_DEBUG("eventKey : " << event.xkey.keycode << " state : " << event.xkey.state);
/*
if (event.xkey.state & (1<<0) ) { if (event.xkey.state & (1<<0) ) {
//GALE_DEBUG(" Special Key : SHIFT"); //GALE_DEBUG(" Special Key : SHIFT");
m_guiKeyBoardMode.setShift(true); m_guiKeyBoardMode.setShift(true);
@ -631,6 +632,7 @@ class X11Interface : public gale::Context {
} else { } else {
m_guiKeyBoardMode.setAltGr(false); m_guiKeyBoardMode.setAltGr(false);
} }
*/
bool find = true; bool find = true;
enum gale::key::keyboard keyInput; enum gale::key::keyboard keyInput;
switch (event.xkey.keycode) { switch (event.xkey.keycode) {
@ -676,17 +678,17 @@ class X11Interface : public gale::Context {
case 76: keyInput = gale::key::keyboard::f10; break; case 76: keyInput = gale::key::keyboard::f10; break;
case 95: keyInput = gale::key::keyboard::f11; break; case 95: keyInput = gale::key::keyboard::f11; break;
case 96: keyInput = gale::key::keyboard::f12; break; case 96: keyInput = gale::key::keyboard::f12; break;
case 66: keyInput = gale::key::keyboard::capLock; m_guiKeyBoardMode.setCapsLock( (event.type == KeyPress) ? true : false); break; case 66: keyInput = gale::key::keyboard::capLock; m_guiKeyBoardMode.setCapsLock (event.type == KeyPress); break;
case 50: keyInput = gale::key::keyboard::shiftLeft; m_guiKeyBoardMode.setShift ( (event.type == KeyPress) ? true : false); break; case 50: keyInput = gale::key::keyboard::shiftLeft; m_guiKeyBoardMode.setShiftLeft (event.type == KeyPress); break;
case 62: keyInput = gale::key::keyboard::shiftRight; m_guiKeyBoardMode.setShift ( (event.type == KeyPress) ? true : false); break; case 62: keyInput = gale::key::keyboard::shiftRight; m_guiKeyBoardMode.setShiftRight(event.type == KeyPress); break;
case 37: keyInput = gale::key::keyboard::ctrlLeft; m_guiKeyBoardMode.setCtrl ( (event.type == KeyPress) ? true : false); break; case 37: keyInput = gale::key::keyboard::ctrlLeft; m_guiKeyBoardMode.setCtrlLeft (event.type == KeyPress); break;
case 105: keyInput = gale::key::keyboard::ctrlRight; m_guiKeyBoardMode.setCtrl ( (event.type == KeyPress) ? true : false); break; case 105: keyInput = gale::key::keyboard::ctrlRight; m_guiKeyBoardMode.setCtrlRight (event.type == KeyPress); break;
case 133: keyInput = gale::key::keyboard::metaLeft; m_guiKeyBoardMode.setMeta ( (event.type == KeyPress) ? true : false); break; case 133: keyInput = gale::key::keyboard::metaLeft; m_guiKeyBoardMode.setMetaLeft (event.type == KeyPress); break;
case 134: keyInput = gale::key::keyboard::metaRight; m_guiKeyBoardMode.setMeta ( (event.type == KeyPress) ? true : false); break; case 134: keyInput = gale::key::keyboard::metaRight; m_guiKeyBoardMode.setMetaRight (event.type == KeyPress); break;
case 64: keyInput = gale::key::keyboard::alt; m_guiKeyBoardMode.setAlt ( (event.type == KeyPress) ? true : false); break; case 64: keyInput = gale::key::keyboard::alt; m_guiKeyBoardMode.setAltLeft (event.type == KeyPress); break;
case 108: keyInput = gale::key::keyboard::altGr; m_guiKeyBoardMode.setAltGr ( (event.type == KeyPress) ? true : false); break; case 108: keyInput = gale::key::keyboard::altGr; m_guiKeyBoardMode.setAltRight (event.type == KeyPress); break;
case 135: keyInput = gale::key::keyboard::contextMenu; break; case 135: keyInput = gale::key::keyboard::contextMenu; break;
case 77: keyInput = gale::key::keyboard::numLock; m_guiKeyBoardMode.setNumLock ( (event.type == KeyPress) ? true : false); break; case 77: keyInput = gale::key::keyboard::numLock; m_guiKeyBoardMode.setNumLock (event.type == KeyPress); break;
case 91: // Suppr on keypad case 91: // Suppr on keypad
find = false; find = false;
if(m_guiKeyBoardMode.getNumLock() == true){ if(m_guiKeyBoardMode.getNumLock() == true){

View File

@ -9,8 +9,8 @@
#define GALE_FLAG_KEY_CAPS_LOCK 0x00000001 #define GALE_FLAG_KEY_CAPS_LOCK 0x00000001
#define GALE_FLAG_KEY_SHIFT 0x00000030 #define GALE_FLAG_KEY_SHIFT 0x00000030
#define GALE_FLAG_KEY_SHIFT_LEFT 0x80000010 #define GALE_FLAG_KEY_SHIFT_LEFT 0x00000010
#define GALE_FLAG_KEY_SHIFT_RIGHT 0x40000020 #define GALE_FLAG_KEY_SHIFT_RIGHT 0x00000020
#define GALE_FLAG_KEY_CTRL 0x00000300 #define GALE_FLAG_KEY_CTRL 0x00000300
#define GALE_FLAG_KEY_CTRL_LEFT 0x00000100 #define GALE_FLAG_KEY_CTRL_LEFT 0x00000100
#define GALE_FLAG_KEY_CTRL_RIGHT 0x00000200 #define GALE_FLAG_KEY_CTRL_RIGHT 0x00000200
@ -20,7 +20,6 @@
#define GALE_FLAG_KEY_ALT 0x00030000 #define GALE_FLAG_KEY_ALT 0x00030000
#define GALE_FLAG_KEY_ALT_LEFT 0x00010000 #define GALE_FLAG_KEY_ALT_LEFT 0x00010000
#define GALE_FLAG_KEY_ALT_RIGHT 0x00020000 #define GALE_FLAG_KEY_ALT_RIGHT 0x00020000
#define GALE_FLAG_KEY_ALTGR 0x00020000
#define GALE_FLAG_KEY_NUM_LOCK 0x00000002 #define GALE_FLAG_KEY_NUM_LOCK 0x00000002
#define GALE_FLAG_KEY_INSERT 0x00000003 #define GALE_FLAG_KEY_INSERT 0x00000003
@ -88,9 +87,9 @@ bool gale::key::Special::get(enum gale::key::keyboard _move) {
return getMetaLeft(); return getMetaLeft();
case keyboard::metaRight: case keyboard::metaRight:
return getMetaRight(); return getMetaRight();
case keyboard::altRight:
return getAltLeft();
case keyboard::altLeft: case keyboard::altLeft:
return getAltLeft();
case keyboard::altRight:
return getAltRight(); return getAltRight();
case keyboard::numLock: case keyboard::numLock:
return getNumLock(); return getNumLock();