mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-22 00:17:58 +01:00
support for space and alt-left/right keys
This commit is contained in:
@@ -3,6 +3,7 @@ date:
|
|||||||
* version 0.4
|
* version 0.4
|
||||||
* added :edit, :e and :tabedit aliases for :open, :tabopen
|
* added :edit, :e and :tabedit aliases for :open, :tabopen
|
||||||
* settings can now be changed with += and -= like in vim (patch from Виктор Кожухаров)
|
* settings can now be changed with += and -= like in vim (patch from Виктор Кожухаров)
|
||||||
|
* Support for space/shift-space/alt-left/alt-right keys without beeping
|
||||||
* :open without argument reloads current page, :tabopen opens an empty tab
|
* :open without argument reloads current page, :tabopen opens an empty tab
|
||||||
* added 'n' and 'N' to repeat a search
|
* added 'n' and 'N' to repeat a search
|
||||||
|
|
||||||
|
|||||||
3
TODO
3
TODO
@@ -21,7 +21,6 @@ FEATURES:
|
|||||||
8 middleclick in content == p, and if command line is open, paste there the clipboard buffer
|
8 middleclick in content == p, and if command line is open, paste there the clipboard buffer
|
||||||
8 [ctrl-o/i] to Go back to a Previous Position (done partly, however currenty does not use a per tab jumplist)
|
8 [ctrl-o/i] to Go back to a Previous Position (done partly, however currenty does not use a per tab jumplist)
|
||||||
8 Use our own find-as-you-type mechanism (like conkeror does)
|
8 Use our own find-as-you-type mechanism (like conkeror does)
|
||||||
8 A way to temporaily disable vimperator keys (for sites like gmail)
|
|
||||||
7 make hints smarter, not only with characters from from hintchars, but use "NE" or "NP" for 'new posts' e.g. (might be too slow)
|
7 make hints smarter, not only with characters from from hintchars, but use "NE" or "NP" for 'new posts' e.g. (might be too slow)
|
||||||
7 whereever possible: get rid of dialogs and ask console-like dialog questions or write error prompts directly on the webpage or with :echo()
|
7 whereever possible: get rid of dialogs and ask console-like dialog questions or write error prompts directly on the webpage or with :echo()
|
||||||
7 :hardcopy -> printing
|
7 :hardcopy -> printing
|
||||||
@@ -36,7 +35,7 @@ FEATURES:
|
|||||||
6 pipe selected text/link/website to an external command
|
6 pipe selected text/link/website to an external command
|
||||||
6 macros (qq)
|
6 macros (qq)
|
||||||
6 :ls - show buffers
|
6 :ls - show buffers
|
||||||
6 support firefox search engines
|
6 support firefox search engines, or at least make our search enginges user configurable
|
||||||
6 gf = view source?
|
6 gf = view source?
|
||||||
6 make a real one-tab-mode, divert _all_ other targets, possible by setting a firefox option (set popup=0-3)
|
6 make a real one-tab-mode, divert _all_ other targets, possible by setting a firefox option (set popup=0-3)
|
||||||
6 Shift-Insert in textboxes pastes clipboard contents
|
6 Shift-Insert in textboxes pastes clipboard contents
|
||||||
|
|||||||
@@ -545,13 +545,13 @@ var g_mappings = [/*{{{*/
|
|||||||
function(count) { scrollBufferRelative(1, 0); }
|
function(count) { scrollBufferRelative(1, 0); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
["<C-b>", "<PageUp>"],
|
["<C-b>", "<PageUp>", "<S-Space>"],
|
||||||
"Scroll up a page",
|
"Scroll up a page",
|
||||||
"Scroll up a full page of the current document. No count support for now.",
|
"Scroll up a full page of the current document. No count support for now.",
|
||||||
function(count) { goDoCommand('cmd_scrollPageUp'); }
|
function(count) { goDoCommand('cmd_scrollPageUp'); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
["<C-f>", "<PageDown>"],
|
["<C-f>", "<PageDown>", "<Space>"],
|
||||||
"Scroll down a page",
|
"Scroll down a page",
|
||||||
"Scroll down a full page of the current document. No count support for now.",
|
"Scroll down a full page of the current document. No count support for now.",
|
||||||
function(count) { goDoCommand('cmd_scrollPageDown'); }
|
function(count) { goDoCommand('cmd_scrollPageDown'); }
|
||||||
@@ -571,13 +571,13 @@ var g_mappings = [/*{{{*/
|
|||||||
function(count) { stepInHistory(count > 0 ? count : 1); }
|
function(count) { stepInHistory(count > 0 ? count : 1); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
["H"],
|
["H", "<A-Left>", "<M-Left>"],
|
||||||
"Go back in the browser history",
|
"Go back in the browser history",
|
||||||
"Count is supported, <code class=mapping>3H</code> goes back 3 steps.",
|
"Count is supported, <code class=mapping>3H</code> goes back 3 steps.",
|
||||||
function(count) { stepInHistory(count > 0 ? -1 * count : -1); }
|
function(count) { stepInHistory(count > 0 ? -1 * count : -1); }
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
["L"],
|
["L", "<A-Right>", "<M-Right>"],
|
||||||
"Go forward in the browser history",
|
"Go forward in the browser history",
|
||||||
"Count is supported, <code class=mapping>3L</code> goes forward 3 steps.",
|
"Count is supported, <code class=mapping>3L</code> goes forward 3 steps.",
|
||||||
function(count) { stepInHistory(count > 0 ? count : 1); }
|
function(count) { stepInHistory(count > 0 ? count : 1); }
|
||||||
@@ -1489,6 +1489,7 @@ table.settings th {\
|
|||||||
'<form action="https://www.paypal.com/cgi-bin/webscr" method="post">' +
|
'<form action="https://www.paypal.com/cgi-bin/webscr" method="post">' +
|
||||||
'<input type="hidden" name="cmd" value="_s-xclick">' +
|
'<input type="hidden" name="cmd" value="_s-xclick">' +
|
||||||
'<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make payments with PayPal - it\'s fast, free and secure!">' +
|
'<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make payments with PayPal - it\'s fast, free and secure!">' +
|
||||||
|
|
||||||
'<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">' +
|
'<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">' +
|
||||||
'<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----">' +
|
'<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----">' +
|
||||||
'</form>' +
|
'</form>' +
|
||||||
@@ -1553,17 +1554,19 @@ table.settings th {\
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
var mappings = '<h2>Mappings</h2><table class="vimperator mappings">'
|
var mappings = '<h2>Mappings</h2>'+
|
||||||
|
'<p>The denotion of modifier keys is like in Vim, so C- means the Control key, M- the Meta key, A- the Alt key and S- the Shift key.</p>'+
|
||||||
|
'<p><table class="vimperator mappings">'
|
||||||
mappings += makeHelpString(g_mappings, "#102663", "", "", null);
|
mappings += makeHelpString(g_mappings, "#102663", "", "", null);
|
||||||
mappings += '</table>';
|
mappings += '</table></p>';
|
||||||
|
|
||||||
var commands = '<h2>Commands</h2><table class="vimperator commands">'
|
var commands = '<h2>Commands</h2><p><table class="vimperator commands">'
|
||||||
commands += makeHelpString(g_commands, "#632610", ":", "", null);
|
commands += makeHelpString(g_commands, "#632610", ":", "", null);
|
||||||
commands += '</table>';
|
commands += '</table></p>';
|
||||||
|
|
||||||
var settings = '<h2>Settings</h2><table class="vimperator settings">'
|
var settings = '<h2>Settings</h2><p><table class="vimperator settings">'
|
||||||
settings += makeHelpString(g_settings, "#106326", "'", "'", makeSettingsHelpString);
|
settings += makeHelpString(g_settings, "#106326", "'", "'", makeSettingsHelpString);
|
||||||
settings += '</table>';
|
settings += '</table></p>';
|
||||||
|
|
||||||
var fulldoc = '<html><head><title>Vimperator help</title>' +
|
var fulldoc = '<html><head><title>Vimperator help</title>' +
|
||||||
style +
|
style +
|
||||||
|
|||||||
@@ -476,11 +476,11 @@ function hit_a_hint()
|
|||||||
|
|
||||||
|
|
||||||
var evt = doc.createEvent('MouseEvents');
|
var evt = doc.createEvent('MouseEvents');
|
||||||
evt.initMouseEvent('mousedown', true, true, view, 1, x+1, y+1, 0, 0, /*ctrl*/ new_tab, /*event.altKey*/0, /*event.shiftKey*/ new_window, /*event.metaKey*/0, 0, null);
|
evt.initMouseEvent('mousedown', true, true, view, 1, x+1, y+1, 0, 0, /*ctrl*/ new_tab, /*event.altKey*/0, /*event.shiftKey*/ new_window, /*event.metaKey*/ new_tab, 0, null);
|
||||||
elem.dispatchEvent(evt);
|
elem.dispatchEvent(evt);
|
||||||
|
|
||||||
var evt = doc.createEvent('MouseEvents');
|
var evt = doc.createEvent('MouseEvents');
|
||||||
evt.initMouseEvent('click', true, true, view, 1, x+1, y+1, 0, 0, /*ctrl*/ new_tab, /*event.altKey*/0, /*event.shiftKey*/ new_window, /*event.metaKey*/0, 0, null);
|
evt.initMouseEvent('click', true, true, view, 1, x+1, y+1, 0, 0, /*ctrl*/ new_tab, /*event.altKey*/0, /*event.shiftKey*/ new_window, /*event.metaKey*/ new_tab, 0, null);
|
||||||
elem.dispatchEvent(evt);
|
elem.dispatchEvent(evt);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -942,10 +942,18 @@ function keyToString(event)
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// special handling of the Space key
|
||||||
|
if (event.charCode == 32)
|
||||||
|
{
|
||||||
|
if (event.shiftKey)
|
||||||
|
modifier += "S-";
|
||||||
|
key = "Space";
|
||||||
|
}
|
||||||
|
|
||||||
// a normal key like a, b, c, 0, etc.
|
// a normal key like a, b, c, 0, etc.
|
||||||
if (event.charCode > 0)
|
if (event.charCode > 0)
|
||||||
{
|
{
|
||||||
if (modifier.length > 0)
|
if (modifier.length > 0 || event.charCode == 32)
|
||||||
return "<" + modifier + key + ">";
|
return "<" + modifier + key + ">";
|
||||||
else
|
else
|
||||||
return key;
|
return key;
|
||||||
|
|||||||
Reference in New Issue
Block a user