diff --git a/uppsrc/CodeEditor/CodeEditor.cpp b/uppsrc/CodeEditor/CodeEditor.cpp index 8c79116be..4f6ae5e50 100644 --- a/uppsrc/CodeEditor/CodeEditor.cpp +++ b/uppsrc/CodeEditor/CodeEditor.cpp @@ -866,6 +866,8 @@ void CodeEditor::Enclose(const char *c1, const char *c2, int l, int h) } bool CodeEditor::Key(dword code, int count) { + DDUMPHEX(code); + Time key_time = GetSysTime(); double diff; if(!IsNull(last_key_time) && (diff = int(key_time - last_key_time)) <= 3) diff --git a/uppsrc/CtrlCore/CocoKeys.h b/uppsrc/CtrlCore/CocoKeys.h index b99f054e0..462a86a84 100644 --- a/uppsrc/CtrlCore/CocoKeys.h +++ b/uppsrc/CtrlCore/CocoKeys.h @@ -1,7 +1,7 @@ K_BACK = kVK_Delete|K_DELTA, K_BACKSPACE = K_BACK, -K_TAB = kVK_Tab|K_DELTA, +K_TAB = 9, K_SPACE = kVK_Space|K_DELTA, diff --git a/uppsrc/CtrlCore/CocoProc.mm b/uppsrc/CtrlCore/CocoProc.mm index 256de3dbe..23b32da60 100644 --- a/uppsrc/CtrlCore/CocoProc.mm +++ b/uppsrc/CtrlCore/CocoProc.mm @@ -210,7 +210,9 @@ struct MMImp { KEY(U); KEY(V); KEY(W); KEY(X); KEY(Y); KEY(Z); } #undef KEY - k = (k == kVK_ANSI_KeypadEnter ? K_ENTER : k)|K_DELTA|up; + + k = decode(k, kVK_ANSI_KeypadEnter, K_ENTER, kVK_Tab, K_TAB, K_DELTA|k)|up; + if(GetCtrl()) k |= K_CTRL; if(GetShift()) @@ -228,7 +230,7 @@ struct MMImp { WString x = ToWString((CFStringRef)(e.characters)); for(wchar c : x) { if(c < 0xF700 && - (c > 32 && c != 127 || c == 9 && !GetOption() || c == 32 && !GetShift())) + (c > 32 && c != 127 || /*c == 9 && !GetOption() || */c == 32 && !GetShift())) ctrl->DispatchKey(c, 1); } if(e.keyCode == kVK_ANSI_KeypadEnter && *x != 13) diff --git a/uppsrc/CtrlLib/Switch.cpp b/uppsrc/CtrlLib/Switch.cpp index 56714b924..3ab985c00 100644 --- a/uppsrc/CtrlLib/Switch.cpp +++ b/uppsrc/CtrlLib/Switch.cpp @@ -127,7 +127,6 @@ Value Switch::GetData() const { } Rect Switch::GetCaseRect(int i) const { - Size sz = GetSize(); return i >= 0 && i < cs.GetCount() ? (Rect)cs[i].rect : Rect(Null); }