Skip to content

Commit a8b8ae2

Browse files
committed
Added support for Mac keyboard shortcuts
support for Ctrl or Cmd is PC or MAC
1 parent af08536 commit a8b8ae2

File tree

1 file changed

+40
-37
lines changed

1 file changed

+40
-37
lines changed

src/editormd.js

Lines changed: 40 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3170,17 +3170,20 @@
31703170
}
31713171
};
31723172

3173+
var isMac = navigator.platform.toUpperCase().indexOf('MAC')>=0;
3174+
var key = isMac ? "Cmd" : "Ctrl";
3175+
31733176
editormd.keyMaps = {
3174-
"Ctrl-1" : "h1",
3175-
"Ctrl-2" : "h2",
3176-
"Ctrl-3" : "h3",
3177-
"Ctrl-4" : "h4",
3178-
"Ctrl-5" : "h5",
3179-
"Ctrl-6" : "h6",
3180-
"Ctrl-B" : "bold", // if this is string == editormd.toolbarHandlers.xxxx
3181-
"Ctrl-D" : "datetime",
3182-
3183-
"Ctrl-E" : function() { // emoji
3177+
[key + "-1"] : "h1",
3178+
[key + "-2"] : "h2",
3179+
[key + "-3"] : "h3",
3180+
[key + "-4"] : "h4",
3181+
[key + "-5"] : "h5",
3182+
[key + "-6"] : "h6",
3183+
[key + "-B"] : "bold", // if this is string == editormd.toolbarHandlers.xxxx
3184+
[key + "-D"] : "datetime",
3185+
3186+
[key + "Ctrl-E"] : function() { // emoji
31843187
var cm = this.cm;
31853188
var cursor = cm.getCursor();
31863189
var selection = cm.getSelection();
@@ -3197,10 +3200,10 @@
31973200
cm.setCursor(cursor.line, cursor.ch + 1);
31983201
}
31993202
},
3200-
"Ctrl-Alt-G" : "goto-line",
3201-
"Ctrl-H" : "hr",
3202-
"Ctrl-I" : "italic",
3203-
"Ctrl-K" : "code",
3203+
[key + "-Alt-G"] : "goto-line",
3204+
[key + "-H"] : "hr",
3205+
[key + "-I"] : "italic",
3206+
[key + "-K"] : "code",
32043207

32053208
"Ctrl-L" : function() {
32063209
var cm = this.cm;
@@ -3215,7 +3218,7 @@
32153218
cm.setCursor(cursor.line, cursor.ch + 1);
32163219
}
32173220
},
3218-
"Ctrl-U" : "list-ul",
3221+
[key + "-U"] : "list-ul",
32193222

32203223
"Shift-Ctrl-A" : function() {
32213224
var cm = this.cm;
@@ -3235,10 +3238,10 @@
32353238
}
32363239
},
32373240

3238-
"Shift-Ctrl-C" : "code",
3239-
"Shift-Ctrl-Q" : "quote",
3240-
"Shift-Ctrl-S" : "del",
3241-
"Shift-Ctrl-K" : "tex", // KaTeX
3241+
["Shift" + key + "-C"] : "code",
3242+
["Shift" + key + "Q"] : "quote",
3243+
["Shift" + key + "S"] : "del",
3244+
["Shift" + key + "K"] : "tex", // KaTeX
32423245

32433246
"Shift-Alt-C" : function() {
32443247
var cm = this.cm;
@@ -3252,16 +3255,16 @@
32523255
}
32533256
},
32543257

3255-
"Shift-Ctrl-Alt-C" : "code-block",
3256-
"Shift-Ctrl-H" : "html-entities",
3257-
"Shift-Alt-H" : "help",
3258-
"Shift-Ctrl-E" : "emoji",
3259-
"Shift-Ctrl-U" : "uppercase",
3260-
"Shift-Alt-U" : "ucwords",
3261-
"Shift-Ctrl-Alt-U" : "ucfirst",
3262-
"Shift-Alt-L" : "lowercase",
3258+
["Shift-" + key + "-Alt-C"] : "code-block",
3259+
["Shift-" + key + "-H"] : "html-entities",
3260+
"Shift-Alt-H" : "help",
3261+
["Shift-" + key + "-E"] : "emoji",
3262+
["Shift-" + key + "-U"] : "uppercase",
3263+
"Shift-Alt-U" : "ucwords",
3264+
["Shift-" + key + "-Alt-U"] : "ucfirst",
3265+
"Shift-Alt-L" : "lowercase",
32633266

3264-
"Shift-Ctrl-I" : function() {
3267+
["Shift-" + key + "-I"] : function() {
32653268
var cm = this.cm;
32663269
var cursor = cm.getCursor();
32673270
var selection = cm.getSelection();
@@ -3275,15 +3278,15 @@
32753278
}
32763279
},
32773280

3278-
"Shift-Ctrl-Alt-I" : "image",
3279-
"Shift-Ctrl-L" : "link",
3280-
"Shift-Ctrl-O" : "list-ol",
3281-
"Shift-Ctrl-P" : "preformatted-text",
3282-
"Shift-Ctrl-T" : "table",
3283-
"Shift-Alt-P" : "pagebreak",
3284-
"F9" : "watch",
3285-
"F10" : "preview",
3286-
"F11" : "fullscreen",
3281+
["Shift-" + key + "-Alt-I"] : "image",
3282+
["Shift-" + key + "-L"] : "link",
3283+
["Shift-" + key + "-O"] : "list-ol",
3284+
["Shift-" + key + "-P"] : "preformatted-text",
3285+
["Shift-" + key + "-T"] : "table",
3286+
"Shift-Alt-P" : "pagebreak",
3287+
"F9" : "watch",
3288+
"F10" : "preview",
3289+
"F11" : "fullscreen",
32873290
};
32883291

32893292
/**

0 commit comments

Comments
 (0)