Skip to content

Commit

Permalink
use event.key for search shortcut (#1525)
Browse files Browse the repository at this point in the history
* use event.key for search shortcut

* suggestions from review

* caps lock
  • Loading branch information
gabalafou committed Oct 19, 2023
1 parent f8847eb commit 1dcdada
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions src/pydata_sphinx_theme/assets/scripts/pydata-sphinx-theme.js
Expand Up @@ -236,12 +236,22 @@ var addEventListenerForSearchKeyboard = () => {
(event) => {
let input = findSearchInput();
// toggle on Ctrl+k or ⌘+k
if ((event.ctrlKey || event.metaKey) && event.code == "KeyK") {
if (
// Ignore if shift or alt are pressed
!event.shiftKey &&
!event.altKey &&
// On Mac use ⌘, all other OS use Ctrl
(isMac
? event.metaKey && !event.ctrlKey
: !event.metaKey && event.ctrlKey) &&
// Case-insensitive so the shortcut still works with caps lock
/k/i.test(event.key)
) {
event.preventDefault();
toggleSearchField();
}
// also allow Escape key to hide (but not show) the dynamic search field
else if (document.activeElement === input && event.code == "Escape") {
else if (document.activeElement === input && /Escape/i.test(event.key)) {
toggleSearchField();
}
},
Expand Down

0 comments on commit 1dcdada

Please sign in to comment.