Как отключить горячие клавиши для конкретного сайта, если (и только если) они уже сопоставлены в Opera? Например, я использую <C-b> вместо <Right> и <C-h> вместо <BS> . На Переполнении стека / Суперпользователь выдает **strong text** и ## Heading ## соответственно. Я не хочу, чтобы это случилось. Я могу изучить javascript Super User / Stack Overflow / some_other_site и написать userjs для выполнения этой работы, но этот метод не универсален.

Я использую Opera-10.51_pre6252 в Gentoo Linux.

1 ответ1

0

Следующий 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);
 })();

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .