मैंने एक क्रोम एक्सटेंशन बनाया है जो प्राथमिक कीबोर्ड कार्यक्षमता को वापस जोड़ देगा (जो मैंने कम से कम उपयोग किया था)। यदि खोज बॉक्स पर ध्यान केंद्रित नहीं किया जाता है, तो किसी भी कुंजी को दबाने से यह स्वचालित रूप से ध्यान केंद्रित करेगा। इसके अलावा, तीर कुंजी और टैब / शिफ्ट + टैब आपको परिणामों के बीच नेविगेट करने देगा। उम्मीद है कि यह हमें तब तक उत्पादक बने रहने में मदद कर सकता है जब तक कि Google (उम्मीद) कार्यक्षमता को वापस नहीं जोड़ता है।
https://chrome.google.com/webstore/detail/google-search-result-keyb/iobmefdldoplhmonnnkchglfdeepnfhd?hl=en&gl=US
यदि आप इसे संपादित करना चाहते हैं, तो एक्सटेंशन का कोड यहां दिया गया है:
(function() {
'use strict';
var isResultsPage = document.querySelector('html[itemtype="http://schema.org/SearchResultsPage"]');
if (!isResultsPage) {
return;
}
var searchbox = document.querySelector('form[role="search"] input[type="text"]:nth-of-type(1)'),
results = document.querySelectorAll('h3 a'),
KEY_UP = 38,
KEY_DOWN = 40,
KEY_TAB = 9;
function focusResult(offset) {
var focused = document.querySelector('h3 a:focus');
// No result is currently focused. Focus the first one
if (focused == null) {
results[0].focus();
}
else {
for (var i = 0; i < results.length; i++) {
var result = results[i];
if (result === focused) {
var focusIndex = i + offset;
if (focusIndex < 0) focusIndex = 0;
if (focusIndex >= results.length) focusIndex = results.length - 1;
results[focusIndex].focus();
}
}
}
}
window.addEventListener('keydown', function(e) {
e = e || window.event;
var isSearchActive = searchbox === document.activeElement,
keycode = e.keyCode,
// From https://stackoverflow.com/questions/12467240/determine-if-javascript-e-keycode-is-a-printable-non-control-character
isPrintable = (keycode > 47 && keycode < 58) || // number keys
(keycode > 64 && keycode < 91) || // letter keys
(keycode > 95 && keycode < 112) || // numpad keys
(keycode > 185 && keycode < 193) || // ;=,-./` (in order)
(keycode > 218 && keycode < 223); // [\]' (in order)
if ((!isSearchActive && e.keyCode == KEY_DOWN) || (e.keyCode == KEY_TAB && !e.shiftKey)) {
e.preventDefault();
e.stopPropagation();
focusResult(1); // Focus next
}
else if ((!isSearchActive && e.keyCode == KEY_UP) || (e.keyCode == KEY_TAB && e.shiftKey)) {
e.preventDefault();
e.stopPropagation();
focusResult(-1); // Focus previous
}
else if (!isSearchActive && isPrintable) {
// Otherwise, force caret to end of text and focus the search box
searchbox.value = searchbox.value + " ";
searchbox.focus();
}
});
})();