tweak hotkey map notation to allow stuff like shift-arrows
This commit is contained in:
parent
0ac2f52e14
commit
5b18c93622
4 changed files with 41 additions and 15 deletions
|
@ -45,6 +45,28 @@ class Backend extends Handler {
|
||||||
$sequence = substr($sequence,
|
$sequence = substr($sequence,
|
||||||
strpos($sequence, "|")+1,
|
strpos($sequence, "|")+1,
|
||||||
strlen($sequence));
|
strlen($sequence));
|
||||||
|
} else {
|
||||||
|
$keys = explode(" ", $sequence);
|
||||||
|
|
||||||
|
for ($i = 0; $i < count($keys); $i++) {
|
||||||
|
if (strlen($keys[$i]) > 1) {
|
||||||
|
$tmp = '';
|
||||||
|
foreach (str_split($keys[$i]) as $c) {
|
||||||
|
switch ($c) {
|
||||||
|
case '*':
|
||||||
|
$tmp .= __('Shift') . '+';
|
||||||
|
break;
|
||||||
|
case '^':
|
||||||
|
$tmp .= __('Ctrl') . '+';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$tmp .= $c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$keys[$i] = $tmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$sequence = join(" ", $keys);
|
||||||
}
|
}
|
||||||
|
|
||||||
print "<li>";
|
print "<li>";
|
||||||
|
|
|
@ -1928,23 +1928,23 @@
|
||||||
"(191)|/" => "search_dialog",
|
"(191)|/" => "search_dialog",
|
||||||
// "article" => array(
|
// "article" => array(
|
||||||
"s" => "toggle_mark",
|
"s" => "toggle_mark",
|
||||||
"S" => "toggle_publ",
|
"*s" => "toggle_publ",
|
||||||
"u" => "toggle_unread",
|
"u" => "toggle_unread",
|
||||||
"T" => "edit_tags",
|
"*t" => "edit_tags",
|
||||||
"D" => "dismiss_selected",
|
"*d" => "dismiss_selected",
|
||||||
"X" => "dismiss_read",
|
"*x" => "dismiss_read",
|
||||||
"o" => "open_in_new_window",
|
"o" => "open_in_new_window",
|
||||||
"c p" => "catchup_below",
|
"c p" => "catchup_below",
|
||||||
"c n" => "catchup_above",
|
"c n" => "catchup_above",
|
||||||
"N" => "article_scroll_down",
|
"*n" => "article_scroll_down",
|
||||||
"P" => "article_scroll_up",
|
"*p" => "article_scroll_up",
|
||||||
"a W" => "toggle_widescreen",
|
"a *w" => "toggle_widescreen",
|
||||||
"e" => "email_article",
|
"e" => "email_article",
|
||||||
"a q" => "close_article",
|
"a q" => "close_article",
|
||||||
// "article_selection" => array(
|
// "article_selection" => array(
|
||||||
"a a" => "select_all",
|
"a a" => "select_all",
|
||||||
"a u" => "select_unread",
|
"a u" => "select_unread",
|
||||||
"a U" => "select_marked",
|
"a *u" => "select_marked",
|
||||||
"a p" => "select_published",
|
"a p" => "select_published",
|
||||||
"a i" => "select_invert",
|
"a i" => "select_invert",
|
||||||
"a n" => "select_none",
|
"a n" => "select_none",
|
||||||
|
@ -1955,9 +1955,9 @@
|
||||||
"f e" => "feed_edit",
|
"f e" => "feed_edit",
|
||||||
"f q" => "feed_catchup",
|
"f q" => "feed_catchup",
|
||||||
"f x" => "feed_reverse",
|
"f x" => "feed_reverse",
|
||||||
"f D" => "feed_debug_update",
|
"f *d" => "feed_debug_update",
|
||||||
"f C" => "toggle_combined_mode",
|
"f *c" => "toggle_combined_mode",
|
||||||
"Q" => "catchup_all",
|
"*q" => "catchup_all",
|
||||||
"x" => "cat_toggle_collapse",
|
"x" => "cat_toggle_collapse",
|
||||||
// "goto" => array(
|
// "goto" => array(
|
||||||
"g a" => "goto_all",
|
"g a" => "goto_all",
|
||||||
|
@ -1965,7 +1965,7 @@
|
||||||
"g s" => "goto_marked",
|
"g s" => "goto_marked",
|
||||||
"g p" => "goto_published",
|
"g p" => "goto_published",
|
||||||
"g t" => "goto_tagcloud",
|
"g t" => "goto_tagcloud",
|
||||||
"g P" => "goto_prefs",
|
"g *p" => "goto_prefs",
|
||||||
// "other" => array(
|
// "other" => array(
|
||||||
"(9)|Tab" => "select_article_cursor", // tab
|
"(9)|Tab" => "select_article_cursor", // tab
|
||||||
"c l" => "create_label",
|
"c l" => "create_label",
|
||||||
|
|
|
@ -556,7 +556,7 @@ function hotkey_handler(e) {
|
||||||
if (keycode == 16) return; // ignore lone shift
|
if (keycode == 16) return; // ignore lone shift
|
||||||
if (keycode == 17) return; // ignore lone ctrl
|
if (keycode == 17) return; // ignore lone ctrl
|
||||||
|
|
||||||
if (!shift_key) keychar = keychar.toLowerCase();
|
keychar = keychar.toLowerCase();
|
||||||
|
|
||||||
var hotkeys = getInitParam("hotkeys");
|
var hotkeys = getInitParam("hotkeys");
|
||||||
|
|
||||||
|
@ -577,7 +577,11 @@ function hotkey_handler(e) {
|
||||||
Element.hide(cmdline);
|
Element.hide(cmdline);
|
||||||
|
|
||||||
var hotkey = keychar.search(/[a-zA-Z0-9]/) != -1 ? keychar : "(" + keycode + ")";
|
var hotkey = keychar.search(/[a-zA-Z0-9]/) != -1 ? keychar : "(" + keycode + ")";
|
||||||
|
|
||||||
|
// ensure ^*char notation
|
||||||
|
if (shift_key) hotkey = "*" + hotkey;
|
||||||
if (ctrl_key) hotkey = "^" + hotkey;
|
if (ctrl_key) hotkey = "^" + hotkey;
|
||||||
|
|
||||||
hotkey = hotkey_prefix ? hotkey_prefix + " " + hotkey : hotkey;
|
hotkey = hotkey_prefix ? hotkey_prefix + " " + hotkey : hotkey;
|
||||||
hotkey_prefix = false;
|
hotkey_prefix = false;
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,8 @@ class GoogleReaderKeys extends Plugin {
|
||||||
|
|
||||||
$hotkeys["j"] = "next_article_noscroll";
|
$hotkeys["j"] = "next_article_noscroll";
|
||||||
$hotkeys["k"] = "prev_article_noscroll";
|
$hotkeys["k"] = "prev_article_noscroll";
|
||||||
$hotkeys["N"] = "next_feed";
|
$hotkeys["*n"] = "next_feed";
|
||||||
$hotkeys["P"] = "prev_feed";
|
$hotkeys["*p"] = "prev_feed";
|
||||||
$hotkeys["v"] = "open_in_new_window";
|
$hotkeys["v"] = "open_in_new_window";
|
||||||
$hotkeys["r"] = "feed_refresh";
|
$hotkeys["r"] = "feed_refresh";
|
||||||
$hotkeys["(32)|space"] = "next_article";
|
$hotkeys["(32)|space"] = "next_article";
|
||||||
|
|
Loading…
Reference in a new issue