mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 16:44:36 +00:00
Merge pull request #792 from Ragora/bugfix-macos-hotkeys
BugFix: Correct MacOS not responding to various hotkeys
This commit is contained in:
commit
67771cad5b
2 changed files with 15 additions and 80 deletions
|
|
@ -804,85 +804,7 @@ bool GuiTextEditCtrl::onKeyDown(const GuiEvent &event)
|
||||||
{
|
{
|
||||||
switch(event.keyCode)
|
switch(event.keyCode)
|
||||||
{
|
{
|
||||||
#if defined(TORQUE_OS_MAC)
|
|
||||||
// Added UNIX emacs key bindings - just a little hack here...
|
|
||||||
|
|
||||||
// Ctrl-B - move one character back
|
|
||||||
case KEY_B:
|
|
||||||
{
|
|
||||||
GuiEvent new_event;
|
|
||||||
new_event.modifier = 0;
|
|
||||||
new_event.keyCode = KEY_LEFT;
|
|
||||||
return(onKeyDown(new_event));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ctrl-F - move one character forward
|
|
||||||
case KEY_F:
|
|
||||||
{
|
|
||||||
GuiEvent new_event;
|
|
||||||
new_event.modifier = 0;
|
|
||||||
new_event.keyCode = KEY_RIGHT;
|
|
||||||
return(onKeyDown(new_event));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ctrl-A - move to the beginning of the line
|
|
||||||
case KEY_A:
|
|
||||||
{
|
|
||||||
GuiEvent new_event;
|
|
||||||
new_event.modifier = 0;
|
|
||||||
new_event.keyCode = KEY_HOME;
|
|
||||||
return(onKeyDown(new_event));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ctrl-E - move to the end of the line
|
|
||||||
case KEY_E:
|
|
||||||
{
|
|
||||||
GuiEvent new_event;
|
|
||||||
new_event.modifier = 0;
|
|
||||||
new_event.keyCode = KEY_END;
|
|
||||||
return(onKeyDown(new_event));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ctrl-P - move backward in history
|
|
||||||
case KEY_P:
|
|
||||||
{
|
|
||||||
GuiEvent new_event;
|
|
||||||
new_event.modifier = 0;
|
|
||||||
new_event.keyCode = KEY_UP;
|
|
||||||
return(onKeyDown(new_event));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ctrl-N - move forward in history
|
|
||||||
case KEY_N:
|
|
||||||
{
|
|
||||||
GuiEvent new_event;
|
|
||||||
new_event.modifier = 0;
|
|
||||||
new_event.keyCode = KEY_DOWN;
|
|
||||||
return(onKeyDown(new_event));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ctrl-D - delete under cursor
|
|
||||||
case KEY_D:
|
|
||||||
{
|
|
||||||
GuiEvent new_event;
|
|
||||||
new_event.modifier = 0;
|
|
||||||
new_event.keyCode = KEY_DELETE;
|
|
||||||
return(onKeyDown(new_event));
|
|
||||||
}
|
|
||||||
|
|
||||||
case KEY_U:
|
|
||||||
{
|
|
||||||
GuiEvent new_event;
|
|
||||||
new_event.modifier = SI_CTRL;
|
|
||||||
new_event.keyCode = KEY_DELETE;
|
|
||||||
return(onKeyDown(new_event));
|
|
||||||
}
|
|
||||||
|
|
||||||
// End added UNIX emacs key bindings
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Adding word jump navigation.
|
// Adding word jump navigation.
|
||||||
|
|
||||||
case KEY_LEFT:
|
case KEY_LEFT:
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -900,7 +822,6 @@ bool GuiTextEditCtrl::onKeyDown(const GuiEvent &event)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(TORQUE_OS_MAC)
|
|
||||||
// Select all
|
// Select all
|
||||||
case KEY_A:
|
case KEY_A:
|
||||||
{
|
{
|
||||||
|
|
@ -931,7 +852,6 @@ bool GuiTextEditCtrl::onKeyDown(const GuiEvent &event)
|
||||||
onUndo();
|
onUndo();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
case KEY_DELETE:
|
case KEY_DELETE:
|
||||||
case KEY_BACKSPACE:
|
case KEY_BACKSPACE:
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,21 @@ namespace
|
||||||
ret |= SI_ALT;
|
ret |= SI_ALT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NOTE: For MacOS, this will treat command as Left or Right CTRL
|
||||||
|
#ifdef TORQUE_OS_MAC
|
||||||
|
if (mod & KMOD_LGUI)
|
||||||
|
{
|
||||||
|
ret |= SI_LCTRL;
|
||||||
|
ret |= SI_CTRL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mod & KMOD_RGUI)
|
||||||
|
{
|
||||||
|
ret |= SI_RCTRL;
|
||||||
|
ret |= SI_CTRL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue