[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.
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;
enum gale::key::keyboard keyInput;
switch (c) {
@ -235,13 +235,13 @@ static std::vector<std::pair<uint16_t,unichar>> g_listlasteventDown;
if ((bitField & flags) != 0) {
GALE_VERBOSE("Flag change: " << key);
if (guiKeyBoardMode.get(key) == false) {
GALE_WARNING(" " << key << " DOWN");
GALE_DEBUG(" " << key << " DOWN");
guiKeyBoardMode.update(key, true);
MacOs::setKeyboardMove(guiKeyBoardMode, key, true, false);
}
} else {
if (guiKeyBoardMode.get(key) == true) {
GALE_WARNING(" " << key << " UP");
GALE_DEBUG(" " << key << " UP");
guiKeyBoardMode.update(key, 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 {
uint32_t bitField = [theEvent modifierFlags];
GALE_ERROR("flagsChanged : " << std::hex << [theEvent modifierFlags]);
GALE_VERBOSE("flagsChanged : " << std::hex << [theEvent modifierFlags]);
#ifdef __MAC_10_12
[self flagsUpdate:bitField: NSEventModifierFlagCapsLock: gale::key::keyboard::capLock];
#else
@ -294,11 +294,11 @@ static std::vector<std::pair<uint16_t,unichar>> g_listlasteventDown;
#else
if ((bitField & NSFunctionKeyMask) != 0) {
#endif
GALE_WARNING("NSEventModifierFlagFunction");
GALE_VERBOSE("NSEventModifierFlagFunction");
MacOs::setKeyboardMove(guiKeyBoardMode, gale::key::keyboard::contextMenu, true, 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 ...

View File

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

View File

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