Избавление от специфичных для сайта горячих клавиш
Как отключить горячие клавиши для конкретного сайта, если (и только если) они уже сопоставлены в Opera? Например, я использую <C-b>
вместо <Right>
а также <C-h>
вместо <BS>
, На переполнении стека /Super User они производят **strong text**
а также ## Heading ##
соответственно. Я не хочу, чтобы это случилось. Я могу изучить javascript Super User/Stack Overflow/some_other_site и написать userjs для выполнения этой работы, но этот метод не универсален.
Я использую Opera-10.51_pre6252 в Gentoo Linux.
1 ответ
Следующий userjs предотвращает событие запуска для указанных горячих клавиш (см. Длинный массив, начинающийся с ["h"
). Кто-нибудь знает, как автоматически получить список горячих клавиш, используемых оперой? (Без каких-либо внешних скриптов, которые следят за оперными INI-файлами и генерируют аналогичные userjs при изменениях).
// ==UserScript==
// @include *
// ==/UserScript==
(function() {
window.opera.addEventListener("BeforeEventListener.keypress", (function(e) {
if(e.event.ctrlKey || e.event.metaKey) {
var s=String.fromCharCode(e.event.keyCode).toLowerCase();
if(["h", "b", "d", "f", "t", "w", "z", "n", "g", "c", "\t"].indexOf(s)!=-1) {
e.preventDefault();
}
}
}), false);
})();