/* * Russian hot keys bugfix. * Copyrigh (c) 2006 by Relan (relan@bk.ru) * This software is distributed under the GNU General Public License version 2. */// codes translation tablevar RhkbTable = new Array(0x46, 0x2C, 0x44, 0x55, 0x4C, 0x54, 0x3B, 0x50, 0x42, 0x51, 0x52, 0x4B, 0x56, 0x59, 0x4A, 0x47, 0x48, 0x43, 0x4E, 0x45, 0x41, 0x5B, 0x57, 0x58, 0x49, 0x4F, 0x5D, 0x53, 0x4D, 0x27, 0x2E, 0x5A, 0x66, 0x2C, 0x64, 0x75, 0x6C, 0x74, 0x3B, 0x70, 0x62, 0x71, 0x72, 0x6B, 0x76, 0x79, 0x6A, 0x67, 0x68, 0x63, 0x6E, 0x65, 0x61, 0x5B, 0x77, 0x78, 0x69, 0x6F, 0x5D, 0x73, 0x6D, 0x27, 0x2E, 0x7A);var extrahash = { 0x0490: 0x007C, // Ґ - | 0x0404: 0x0022, // Є - " 0x0406: 0x0053, // І - S 0x0407: 0x007D, // Ї - } 0x0491: 0x005C, // ґ - \ 0x0454: 0x0027, // є - ' 0x0456: 0x0073, // і - s 0x0457: 0x005D, // ї - ] 0x002E: 0x002F // . - /}var Rhkbf = { // А-Я: 0x0410-0x042F, а-я: 0x0430-0x44F // АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ => F,DULT;PBQRKVYJGHCNEA[WXIO]SM'.Z // абвгдежзийклмнопрстуфхцчшщъыьэюя => f,dult;pbqrkvyjghcnea[wxio]sm'.z keypress: function(evt) { if (!evt.altKey && !evt.ctrlKey) return; var newCharCode = 0; if (evt.charCode >= 0x0410 /* А */ && evt.charCode <= 0x0442F /* я */) { newCharCode = RhkbTable[evt.charCode - 0x0410]; } else { /* for (var k in extrahash) { k = parseInt(k); if ( evt.charCode == k ) { newCharCode = parseInt(hash[k]); } } if (newCharCode == 0) { return; } */ if ( evt.charCode == 0x456 ) { newCharCode = 0x73; } else { return; } } var trevt = document.createEvent("KeyboardEvent"); trevt.initKeyEvent(evt.type, evt.canBubble, evt.cancelable, evt.view, evt.ctrlKey, evt.altKey, evt.shiftKey, evt.metaKey, evt.keyCode, newCharCode); evt.preventDefault(); evt.target.dispatchEvent(trevt); }, load: function() { try { window.removeEventListener("keypress", Rhkbf.keypress, true); } catch(ex) { } window.addEventListener("keypress", Rhkbf.keypress, true); }}window.addEventListener("load", function() { Rhkbf.load(); }, false);
if ( evt.charCode == 0x456 ) { newCharCode = 0x73; } else { return; }
if (evt.charCode >= 0x0410 /* А */ && evt.charCode <= 0x0442F /* я */)
Тут це саме... оригінал тепер на mozilla.org живе, і оце розширення тепер при поновленні затирається. Я йому новий uid згенерив, тепер буде нормально.
Цитата: Cthulhu від 2006-11-05 18:59:00Тут це саме... оригінал тепер на mozilla.org живе, і оце розширення тепер при поновленні затирається. Я йому новий uid згенерив, тепер буде нормально.В яке місцерозташування покласти цей chkbf-0.9.1.xpi файл.