CtrlCore: MacOS Tab handling fixed

git-svn-id: svn://ultimatepp.org/upp/trunk@15208 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2020-10-07 12:46:03 +00:00
parent 3453d1cab9
commit 46be6beada
4 changed files with 7 additions and 4 deletions

View file

@ -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)

View file

@ -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,

View file

@ -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)

View file

@ -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);
}