diff mbox series

[PULL,v2,08/11] docs/sphinx: add 's' keyboard binding to focus search

Message ID 20211108090155.371357-9-marcandre.lureau@redhat.com (mailing list archive)
State New, archived
Headers show
Series [PULL,v2,01/11] docs/sphinx: add loaded modules to generated depfile | expand

Commit Message

Marc-André Lureau Nov. 8, 2021, 9:01 a.m. UTC
From: Marc-André Lureau <marcandre.lureau@redhat.com>

This is pretty ubiquitous. ('/' is already taken by some browsers for
quick search)

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
---
 docs/conf.py                 | 4 ++++
 docs/sphinx-static/custom.js | 9 +++++++++
 2 files changed, 13 insertions(+)
 create mode 100644 docs/sphinx-static/custom.js
diff mbox series

Patch

diff --git a/docs/conf.py b/docs/conf.py
index f536483bc3d5..3161b8b127c6 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -182,6 +182,10 @@ 
     'theme_overrides.css',
 ]
 
+html_js_files = [
+    'custom.js',
+]
+
 html_context = {
     "display_gitlab": True,
     "gitlab_user": "qemu-project",
diff --git a/docs/sphinx-static/custom.js b/docs/sphinx-static/custom.js
new file mode 100644
index 000000000000..71a86053051b
--- /dev/null
+++ b/docs/sphinx-static/custom.js
@@ -0,0 +1,9 @@ 
+document.addEventListener('keydown', (event) => {
+    // find a better way to look it up?
+    let search_input = document.getElementsByName('q')[0];
+
+    if (event.code === 'KeyS' && document.activeElement !== search_input) {
+        event.preventDefault();
+        search_input.focus();
+    }
+});