authorgravatar for waleee@gmail.comdtw-waleee <waleee@gmail.com> 2019-10-14 20:55:06+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-10-15 18:19:13-04:00
log3e891c9c0be6873e036abb205230a6809ed94237
tree244f184767d053d464faa7d0712245550582fb8d
parent6a629d3a9f60b185ad24adb7b88b1f29b66e38cf
signaturelock-open Commit is signed but in an unrecognized format.

Fix keyboard layout issue with help-modal

Some keyboard layouts produces a different ev.which value in firefox for ? than 191, eg. the Swedish QWERTY one produces 171. Chrome/chromium doesn't have this issue.

1 files changed, 15 insertions(+), 4 deletions(-)

lib/std/special/docs/main.js+15-4
......@@ -1210,9 +1210,20 @@
12101210 renderSearchCursor();
12111211 }
12121212
1213 function getKeyValue(ev) {
1214 if("key" in ev && typeof ev.key != "undefined") {
1215 return ev.key
1216 }
1217 var code = ev.charCode || ev.keyCode;
1218 if(code == 27) {
1219 return "escape"
1220 }
1221 return String.fromCharCode(code)
1222 }
1223
12131224 function onWindowKeyDown(ev) {
1214 switch (ev.which) {
1215 case 27:
1225 switch (getKeyValue(ev)) {
1226 case "escape":
12161227 if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;
12171228 if (!domHelpModal.classList.contains("hidden")) {
12181229 domHelpModal.classList.add("hidden");
......@@ -1220,7 +1231,7 @@
12201231 ev.stopPropagation();
12211232 }
12221233 break;
1223 case 83:
1234 case "s":
12241235 if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;
12251236 domSearch.focus();
12261237 domSearch.select();
......@@ -1228,7 +1239,7 @@
12281239 ev.stopPropagation();
12291240 startAsyncSearch();
12301241 break;
1231 case 191:
1242 case "?":
12321243 if (!ev.shiftKey || ev.ctrlKey || ev.altKey) return;
12331244 ev.preventDefault();
12341245 ev.stopPropagation();