aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/background/key-queue.js6
-rw-r--r--src/content/index.js3
-rw-r--r--src/content/scrolls.js9
-rw-r--r--src/shared/actions.js2
4 files changed, 19 insertions, 1 deletions
diff --git a/src/background/key-queue.js b/src/background/key-queue.js
index 8bd3158..3c1ffbb 100644
--- a/src/background/key-queue.js
+++ b/src/background/key-queue.js
@@ -7,6 +7,12 @@ const DEFAULT_KEYMAP = [
{ keys: [{ code: KeyboardEvent.DOM_VK_O, shift: true }], action: [ actions.CMD_TABS_OPEN, true ]},
{ keys: [{ code: KeyboardEvent.DOM_VK_K }], action: [ actions.SCROLL_LINES, -1 ]},
{ keys: [{ code: KeyboardEvent.DOM_VK_J }], action: [ actions.SCROLL_LINES, 1 ]},
+ { keys: [{ code: KeyboardEvent.DOM_VK_E, ctrl: true }], action: [ actions.SCROLL_LINES, -1 ]},
+ { keys: [{ code: KeyboardEvent.DOM_VK_Y, ctrl: true }], action: [ actions.SCROLL_LINES, 1 ]},
+ { keys: [{ code: KeyboardEvent.DOM_VK_U, ctrl: true }], action: [ actions.SCROLL_PAGES, -0.5 ]},
+ { keys: [{ code: KeyboardEvent.DOM_VK_D, ctrl: true }], action: [ actions.SCROLL_PAGES, 0.5 ]},
+ { keys: [{ code: KeyboardEvent.DOM_VK_B, ctrl: true }], action: [ actions.SCROLL_PAGES, -1 ]},
+ { keys: [{ code: KeyboardEvent.DOM_VK_F, ctrl: true }], action: [ actions.SCROLL_PAGES, 1 ]},
{ keys: [{ code: KeyboardEvent.DOM_VK_G }, { code: KeyboardEvent.DOM_VK_G }], action: [ actions.SCROLL_TOP ]},
{ keys: [{ code: KeyboardEvent.DOM_VK_G, shift: true }], action: [ actions.SCROLL_BOTTOM ]},
{ keys: [{ code: KeyboardEvent.DOM_VK_D }], action: [ actions.TABS_CLOSE ]},
diff --git a/src/content/index.js b/src/content/index.js
index b233e27..feb169f 100644
--- a/src/content/index.js
+++ b/src/content/index.js
@@ -45,6 +45,9 @@ const invokeEvent = (action) => {
case actions.SCROLL_LINES:
scrolls.scrollLines(window, action[1]);
break;
+ case actions.SCROLL_PAGES:
+ scrolls.scrollPages(window, action[1]);
+ break;
case actions.SCROLL_TOP:
scrolls.scrollTop(window, action[1]);
break;
diff --git a/src/content/scrolls.js b/src/content/scrolls.js
index ef112a4..540703e 100644
--- a/src/content/scrolls.js
+++ b/src/content/scrolls.js
@@ -6,6 +6,13 @@ const scrollLines = (page, count) => {
page.scrollTo(x, y);
};
+const scrollPages = (page, count) => {
+ let height = page.innerHeight;
+ let x = page.scrollX;
+ let y = page.scrollY + height * count;
+ page.scrollTo(x, y);
+};
+
const scrollTop = (page) => {
let x = page.scrollX;
let y = 0;
@@ -18,4 +25,4 @@ const scrollBottom = (page) => {
page.scrollTo(x, y);
};
-export { scrollLines, scrollTop, scrollBottom }
+export { scrollLines, scrollPages, scrollTop, scrollBottom }
diff --git a/src/shared/actions.js b/src/shared/actions.js
index 379a236..b987026 100644
--- a/src/shared/actions.js
+++ b/src/shared/actions.js
@@ -6,6 +6,7 @@ export const TABS_PREV = 'tabs.prev';
export const TABS_NEXT = 'tabs.next';
export const TABS_RELOAD = 'tabs.reload';
export const SCROLL_LINES = 'scroll.lines';
+export const SCROLL_PAGES = 'scroll.pages';
export const SCROLL_TOP = 'scroll.top';
export const SCROLL_BOTTOM = 'scroll.bottom';
export const FOLLOW_START = 'follow.start';
@@ -30,6 +31,7 @@ const CONTENT_ACTION_SET = new Set([
CMD_OPEN,
CMD_TABS_OPEN,
SCROLL_LINES,
+ SCROLL_PAGES,
SCROLL_TOP,
SCROLL_BOTTOM,
FOLLOW_START,