diff --git a/AUTHORS b/AUTHORS index c31cb6976..c823072bb 100644 --- a/AUTHORS +++ b/AUTHORS @@ -28,7 +28,7 @@ Other contributors, listed alphabetically, are: * Horst Gutmann -- internationalization support * Martin Hans -- autodoc improvements * Doug Hellmann -- graphviz improvements -* Timotheus Kampik - stop words language fix +* Timotheus Kampik - JS enhancements, stop words language fix * Takeshi Komiya -- numref feature * Dave Kuhlman -- original LaTeX writer * Blaise Laflamme -- pyramid theme diff --git a/CHANGES b/CHANGES index a0ac757d3..7b637443f 100644 --- a/CHANGES +++ b/CHANGES @@ -14,6 +14,7 @@ Features added * C++ type alias support (e.g., ``.. type:: T = int``) * C++ template support for classes, functions, type aliases, and variables (#1729, #1314). * C++, added new scope management directives ``namespace-push`` and ``namespace-pop``. +* #1970: Keyboard shortcuts to navigate Next and Previous topics Bugs fixed ---------- diff --git a/sphinx/themes/basic/static/doctools.js b/sphinx/themes/basic/static/doctools.js index c7bfe760a..07a6355af 100644 --- a/sphinx/themes/basic/static/doctools.js +++ b/sphinx/themes/basic/static/doctools.js @@ -124,6 +124,7 @@ var Documentation = { this.fixFirefoxAnchorBug(); this.highlightSearchWords(); this.initIndexTable(); + this.initOnKeyListeners(); }, /** @@ -252,6 +253,30 @@ var Documentation = { }); var url = parts.join('/'); return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + /** + * init onKeyListernes (for navigation) + */ + initOnKeyListeners: function() { + $(document).keyup(function(event) { + if (!$(document.activeElement).is('input')) { //don't navigate when in search box + switch (event.keyCode) { + case 37: //left + var prevElement = $('link[rel="prev"]')[0]; + if (prevElement) { + window.location.href = prevElement.href; + } + break; + case 39: //right + var nextElement = $('link[rel="next"]')[0]; + if (nextElement) { + window.location.href = nextElement.href; + } + break; + } + } + }); } };