| ... | @@ -1141,10 +1141,8 @@ | ... | @@ -1141,10 +1141,8 @@ |
| 1141 | } | 1141 | } |
| 1142 | | 1142 | |
| 1143 | function onSearchKeyDown(ev) { | 1143 | function onSearchKeyDown(ev) { |
| 1144 | switch (ev.which) { | 1144 | switch (getKeyString(ev)) { |
| 1145 | case 13: | 1145 | case "Enter": |
| 1146 | if (ev.shiftKey || ev.ctrlKey || ev.altKey) return; | | |
| 1147 | | | |
| 1148 | // detect if this search changes anything | 1146 | // detect if this search changes anything |
| 1149 | var terms1 = getSearchTerms(); | 1147 | var terms1 = getSearchTerms(); |
| 1150 | startSearch(); | 1148 | startSearch(); |
| ... | @@ -1157,9 +1155,7 @@ | ... | @@ -1157,9 +1155,7 @@ |
| 1157 | ev.preventDefault(); | 1155 | ev.preventDefault(); |
| 1158 | ev.stopPropagation(); | 1156 | ev.stopPropagation(); |
| 1159 | return; | 1157 | return; |
| 1160 | case 27: | 1158 | case "Esc": |
| 1161 | if (ev.shiftKey || ev.ctrlKey || ev.altKey) return; | | |
| 1162 | | | |
| 1163 | domSearch.value = ""; | 1159 | domSearch.value = ""; |
| 1164 | domSearch.blur(); | 1160 | domSearch.blur(); |
| 1165 | curSearchIndex = -1; | 1161 | curSearchIndex = -1; |
| ... | @@ -1167,16 +1163,12 @@ | ... | @@ -1167,16 +1163,12 @@ |
| 1167 | ev.stopPropagation(); | 1163 | ev.stopPropagation(); |
| 1168 | startSearch(); | 1164 | startSearch(); |
| 1169 | return; | 1165 | return; |
| 1170 | case 38: | 1166 | case "Up": |
| 1171 | if (ev.shiftKey || ev.ctrlKey || ev.altKey) return; | | |
| 1172 | | | |
| 1173 | moveSearchCursor(-1); | 1167 | moveSearchCursor(-1); |
| 1174 | ev.preventDefault(); | 1168 | ev.preventDefault(); |
| 1175 | ev.stopPropagation(); | 1169 | ev.stopPropagation(); |
| 1176 | return; | 1170 | return; |
| 1177 | case 40: | 1171 | case "Down": |
| 1178 | if (ev.shiftKey || ev.ctrlKey || ev.altKey) return; | | |
| 1179 | | | |
| 1180 | moveSearchCursor(1); | 1172 | moveSearchCursor(1); |
| 1181 | ev.preventDefault(); | 1173 | ev.preventDefault(); |
| 1182 | ev.stopPropagation(); | 1174 | ev.stopPropagation(); |
| ... | @@ -1210,26 +1202,49 @@ | ... | @@ -1210,26 +1202,49 @@ |
| 1210 | renderSearchCursor(); | 1202 | renderSearchCursor(); |
| 1211 | } | 1203 | } |
| 1212 | | 1204 | |
| 1213 | function onWindowKeyDown(ev) { | 1205 | function getKeyString(ev) { |
| | 1206 | var name; |
| | 1207 | var ignoreShift = false; |
| 1214 | switch (ev.which) { | 1208 | switch (ev.which) { |
| | 1209 | case 13: |
| | 1210 | name = "Enter"; |
| | 1211 | break; |
| 1215 | case 27: | 1212 | case 27: |
| 1216 | if (ev.shiftKey || ev.ctrlKey || ev.altKey) return; | 1213 | name = "Esc"; |
| | 1214 | break; |
| | 1215 | case 38: |
| | 1216 | name = "Up"; |
| | 1217 | break; |
| | 1218 | case 40: |
| | 1219 | name = "Down"; |
| | 1220 | break; |
| | 1221 | default: |
| | 1222 | ignoreShift = true; |
| | 1223 | name = (ev.key != null) ? ev.key : String.fromCharCode(ev.charCode || ev.keyCode); |
| | 1224 | } |
| | 1225 | if (!ignoreShift && ev.shiftKey) name = "Shift+" + name; |
| | 1226 | if (ev.altKey) name = "Alt+" + name; |
| | 1227 | if (ev.ctrlKey) name = "Ctrl+" + name; |
| | 1228 | return name; |
| | 1229 | } |
| | 1230 | |
| | 1231 | function onWindowKeyDown(ev) { |
| | 1232 | switch (getKeyString(ev)) { |
| | 1233 | case "Esc": |
| 1217 | if (!domHelpModal.classList.contains("hidden")) { | 1234 | if (!domHelpModal.classList.contains("hidden")) { |
| 1218 | domHelpModal.classList.add("hidden"); | 1235 | domHelpModal.classList.add("hidden"); |
| 1219 | ev.preventDefault(); | 1236 | ev.preventDefault(); |
| 1220 | ev.stopPropagation(); | 1237 | ev.stopPropagation(); |
| 1221 | } | 1238 | } |
| 1222 | break; | 1239 | break; |
| 1223 | case 83: | 1240 | case "s": |
| 1224 | if (ev.shiftKey || ev.ctrlKey || ev.altKey) return; | | |
| 1225 | domSearch.focus(); | 1241 | domSearch.focus(); |
| 1226 | domSearch.select(); | 1242 | domSearch.select(); |
| 1227 | ev.preventDefault(); | 1243 | ev.preventDefault(); |
| 1228 | ev.stopPropagation(); | 1244 | ev.stopPropagation(); |
| 1229 | startAsyncSearch(); | 1245 | startAsyncSearch(); |
| 1230 | break; | 1246 | break; |
| 1231 | case 191: | 1247 | case "?": |
| 1232 | if (!ev.shiftKey || ev.ctrlKey || ev.altKey) return; | | |
| 1233 | ev.preventDefault(); | 1248 | ev.preventDefault(); |
| 1234 | ev.stopPropagation(); | 1249 | ev.stopPropagation(); |
| 1235 | showHelpModal(); | 1250 | showHelpModal(); |