forked from akai/readest
@@ -61,6 +61,22 @@ const useBookShortcuts = ({ sideBarBookKey, bookKeys }: UseBookShortcutsProps) =
|
||||
getView(sideBarBookKey)?.history.back();
|
||||
};
|
||||
|
||||
const goHalfPageDown = () => {
|
||||
const view = getView(sideBarBookKey);
|
||||
const viewSettings = getViewSettings(sideBarBookKey ?? '');
|
||||
if (view && viewSettings && viewSettings.scrolled) {
|
||||
view.next(view.renderer.size / 2);
|
||||
}
|
||||
};
|
||||
|
||||
const goHalfPageUp = () => {
|
||||
const view = getView(sideBarBookKey);
|
||||
const viewSettings = getViewSettings(sideBarBookKey ?? '');
|
||||
if (view && viewSettings && viewSettings.scrolled) {
|
||||
view.prev(view.renderer.size / 2);
|
||||
}
|
||||
};
|
||||
|
||||
const goForward = () => {
|
||||
getView(sideBarBookKey)?.history.forward();
|
||||
};
|
||||
@@ -123,6 +139,8 @@ const useBookShortcuts = ({ sideBarBookKey, bookKeys }: UseBookShortcutsProps) =
|
||||
onGoRight: goRight,
|
||||
onGoPrev: goPrev,
|
||||
onGoNext: goNext,
|
||||
onGoHalfPageDown: goHalfPageDown,
|
||||
onGoHalfPageUp: goHalfPageUp,
|
||||
onGoBack: goBack,
|
||||
onGoForward: goForward,
|
||||
onZoomIn: zoomIn,
|
||||
|
||||
@@ -11,6 +11,8 @@ export interface ShortcutConfig {
|
||||
onGoRight: string[];
|
||||
onGoNext: string[];
|
||||
onGoPrev: string[];
|
||||
onGoHalfPageDown: string[];
|
||||
onGoHalfPageUp: string[];
|
||||
onGoBack: string[];
|
||||
onGoForward: string[];
|
||||
onZoomIn: string[];
|
||||
@@ -33,13 +35,15 @@ const DEFAULT_SHORTCUTS: ShortcutConfig = {
|
||||
onGoRight: ['ArrowRight', 'PageDown', 'l', ' '],
|
||||
onGoNext: ['ArrowDown', 'j'],
|
||||
onGoPrev: ['ArrowUp', 'k'],
|
||||
onGoHalfPageDown: ['shift+ArrowDown', 'd'],
|
||||
onGoHalfPageUp: ['shift+ArrowUp', 'u'],
|
||||
onGoBack: ['shift+ArrowLeft', 'shift+h'],
|
||||
onGoForward: ['shift+ArrowRight', 'shift+l'],
|
||||
onZoomIn: ['ctrl+=', 'cmd+=', 'shift+='],
|
||||
onZoomOut: ['ctrl+-', 'cmd+-', 'shift+-'],
|
||||
onResetZoom: ['ctrl+0', 'cmd+0'],
|
||||
onSaveNote: ['ctrl+Enter'],
|
||||
onCloseNote: ['Escape']
|
||||
onCloseNote: ['Escape'],
|
||||
};
|
||||
|
||||
// Load shortcuts from localStorage or fallback to defaults
|
||||
|
||||
@@ -36,8 +36,8 @@ export interface FoliateView extends HTMLElement {
|
||||
};
|
||||
renderer: {
|
||||
scrolled?: boolean;
|
||||
size: number;
|
||||
viewSize: number;
|
||||
size: number; // current page height
|
||||
viewSize: number; // whole document view height
|
||||
start: number;
|
||||
end: number;
|
||||
setAttribute: (name: string, value: string | number) => void;
|
||||
|
||||
Reference in New Issue
Block a user