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 @@...@@ -1210,9 +1210,20 @@
1210 renderSearchCursor();1210 renderSearchCursor();
1211 }1211 }
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
1213 function onWindowKeyDown(ev) {1224 function onWindowKeyDown(ev) {
1214 switch (ev.which) {1225 switch (getKeyValue(ev)) {
1215 case 27:1226 case "escape":
1216 if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;1227 if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;
1217 if (!domHelpModal.classList.contains("hidden")) {1228 if (!domHelpModal.classList.contains("hidden")) {
1218 domHelpModal.classList.add("hidden");1229 domHelpModal.classList.add("hidden");
...@@ -1220,7 +1231,7 @@...@@ -1220,7 +1231,7 @@
1220 ev.stopPropagation();1231 ev.stopPropagation();
1221 }1232 }
1222 break;1233 break;
1223 case 83:1234 case "s":
1224 if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;1235 if (ev.shiftKey || ev.ctrlKey || ev.altKey) return;
1225 domSearch.focus();1236 domSearch.focus();
1226 domSearch.select();1237 domSearch.select();
...@@ -1228,7 +1239,7 @@...@@ -1228,7 +1239,7 @@
1228 ev.stopPropagation();1239 ev.stopPropagation();
1229 startAsyncSearch();1240 startAsyncSearch();
1230 break;1241 break;
1231 case 191:1242 case "?":
1232 if (!ev.shiftKey || ev.ctrlKey || ev.altKey) return;1243 if (!ev.shiftKey || ev.ctrlKey || ev.altKey) return;
1233 ev.preventDefault();1244 ev.preventDefault();
1234 ev.stopPropagation();1245 ev.stopPropagation();