GUI: change modifier key to Command on macOS
This commit is contained in:
parent
67b47b43b2
commit
c5956b939e
|
@ -22,6 +22,16 @@
|
||||||
#include <fmt/printf.h>
|
#include <fmt/printf.h>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#define CMD_MODIFIER KMOD_GUI
|
||||||
|
#define CMD_MODIFIER_NAME "Cmd-"
|
||||||
|
#define SHIFT_MODIFIER_NAME "Shift-"
|
||||||
|
#else
|
||||||
|
#define CMD_MODIFIER KMOD_CTRL
|
||||||
|
#define CMD_MODIFIER_NAME "Ctrl-"
|
||||||
|
#define SHIFT_MODIFIER_NAME "Shift-"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <shlobj.h>
|
#include <shlobj.h>
|
||||||
|
@ -3136,7 +3146,7 @@ void FurnaceGUI::stopPreviewNote(SDL_Scancode scancode) {
|
||||||
|
|
||||||
void FurnaceGUI::keyDown(SDL_Event& ev) {
|
void FurnaceGUI::keyDown(SDL_Event& ev) {
|
||||||
// GLOBAL KEYS
|
// GLOBAL KEYS
|
||||||
if (ev.key.keysym.mod&KMOD_CTRL) {
|
if (ev.key.keysym.mod&CMD_MODIFIER) {
|
||||||
switch (ev.key.keysym.sym) {
|
switch (ev.key.keysym.sym) {
|
||||||
case SDLK_z:
|
case SDLK_z:
|
||||||
if (ev.key.keysym.mod&KMOD_SHIFT) {
|
if (ev.key.keysym.mod&KMOD_SHIFT) {
|
||||||
|
@ -3198,7 +3208,7 @@ void FurnaceGUI::keyDown(SDL_Event& ev) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GUI_WINDOW_PATTERN: {
|
case GUI_WINDOW_PATTERN: {
|
||||||
if (ev.key.keysym.mod&KMOD_CTRL) {
|
if (ev.key.keysym.mod&CMD_MODIFIER) {
|
||||||
switch (ev.key.keysym.sym) {
|
switch (ev.key.keysym.sym) {
|
||||||
case SDLK_F1:
|
case SDLK_F1:
|
||||||
doTranspose(-1);
|
doTranspose(-1);
|
||||||
|
@ -3945,19 +3955,19 @@ bool FurnaceGUI::loop() {
|
||||||
ImGui::EndMenu();
|
ImGui::EndMenu();
|
||||||
}
|
}
|
||||||
if (ImGui::BeginMenu("edit")) {
|
if (ImGui::BeginMenu("edit")) {
|
||||||
if (ImGui::MenuItem("undo","Ctrl-Z")) doUndo();
|
if (ImGui::MenuItem("undo",CMD_MODIFIER_NAME "Z")) doUndo();
|
||||||
if (ImGui::MenuItem("redo","Shift-Ctrl-Z")) doRedo();
|
if (ImGui::MenuItem("redo",SHIFT_MODIFIER_NAME CMD_MODIFIER_NAME "Z")) doRedo();
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
if (ImGui::MenuItem("cut","Ctrl-X")) doCopy(true);
|
if (ImGui::MenuItem("cut",CMD_MODIFIER_NAME "X")) doCopy(true);
|
||||||
if (ImGui::MenuItem("copy","Ctrl-C")) doCopy(false);
|
if (ImGui::MenuItem("copy",CMD_MODIFIER_NAME "C")) doCopy(false);
|
||||||
if (ImGui::MenuItem("paste","Ctrl-V")) doPaste();
|
if (ImGui::MenuItem("paste",CMD_MODIFIER_NAME "V")) doPaste();
|
||||||
if (ImGui::MenuItem("delete","Delete")) doDelete();
|
if (ImGui::MenuItem("delete","Delete")) doDelete();
|
||||||
if (ImGui::MenuItem("select all","Ctrl-A")) doSelectAll();
|
if (ImGui::MenuItem("select all",CMD_MODIFIER_NAME "A")) doSelectAll();
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
if (ImGui::MenuItem("note up","Ctrl-F1")) doTranspose(1);
|
if (ImGui::MenuItem("note up",CMD_MODIFIER_NAME "F1")) doTranspose(1);
|
||||||
if (ImGui::MenuItem("note down","Ctrl-F2")) doTranspose(-1);
|
if (ImGui::MenuItem("note down",CMD_MODIFIER_NAME "F2")) doTranspose(-1);
|
||||||
if (ImGui::MenuItem("octave up","Ctrl-F3")) doTranspose(12);
|
if (ImGui::MenuItem("octave up",CMD_MODIFIER_NAME"F3")) doTranspose(12);
|
||||||
if (ImGui::MenuItem("octave down","Ctrl-F4")) doTranspose(-12);
|
if (ImGui::MenuItem("octave down",CMD_MODIFIER_NAME "F4")) doTranspose(-12);
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
ImGui::MenuItem("clear...");
|
ImGui::MenuItem("clear...");
|
||||||
ImGui::EndMenu();
|
ImGui::EndMenu();
|
||||||
|
|
Loading…
Reference in New Issue