Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements to PC User Experience #45

Open
wants to merge 18 commits into
base: main
Choose a base branch
from
Open

Conversation

KojoZero
Copy link

PC UX Improvements

Added toggle to disable mouse panning

When using Yomitan, it's easy to accidentally move the page when clicking off, so I added a toggle to disable mouse panning.

Changed scrollwheel actions

The current settings for Mokuro are unnatural on PC. Scrollwheel has been changed to pan vertically, and zooming has been changed to Ctrl+Scrollwheel.

Added more Keyboard shortcuts

More keyboard shortcuts added such as: Turn page with 'A'/'D', Reset Zoom/Pan with 'R', and Toggle Cover with 'C'. These have been added to make navigation more efficient, especially if you're using Yomitan.

Fixed zoom settings

Currently, the zoom out amount is greater than the zoom in amount. This has been fixed so that they are now the same.

Added menu to see keyboard shortcuts

Currently, the keyboard shortcuts aren't listed anywhere on the reader, so I added a menu.

Copy link

vercel bot commented Nov 25, 2024

@KojoZero is attempting to deploy a commit to the zxy101's projects Team on Vercel.

A member of the Team first needs to authorize it.

@KojoZero
Copy link
Author

Closes #14 and Closes #40

Copy link

vercel bot commented Nov 28, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
mokuro-reader ✅ Ready (Inspect) Visit Preview 💬 Add feedback Feb 8, 2025 5:14am

@ZXY101
Copy link
Owner

ZXY101 commented Nov 28, 2024

Thanks for the PR, time is short but I'll take a proper look next week after the JLPT is over.

@@ -70,24 +71,25 @@ export type VolumeDefaultsKey = keyof VolumeDefaults;

const defaultSettings: Settings = {
defaultFullscreen: false,
disableMousePan: true,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have this as disabled by default and keep the other defaults the same?
Rather not conflict with existing users are used to.

const mousePanDisabled = get(settings).disableMousePan;
return nodeName === 'P' || mousePanDisabled;
},
beforeWheel: (e) => {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we get a setting option for this as well?
Most people will be used to just scrolling for zoom and forcing them to use cntrl to zoom now without opting in isnt great

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm with KojoZero on this change. Scrolling is scrolling in the vast majority of applications and web services. Ctrl+scroll is the zoom command in all the apps and web services I know of except mokuro-reader and the default windows image viewer.

Here's some quick examples:
Paint
Paint.net
GIMP
IrfanView
XnView
Chrome
Firefox
Edge
Adobe Acrobat
Windows Explorer
Finder
CDisplayEX (a comic reading app)
Calibre
Kobo Reader for desktop
Kindle for PC

and that's just the stuff I have on my PC that came to mind to test.

All of them use the scroll wheel for scrolling. Where applicable scrolling while zoomed out enough to show the full page would result in a page turn. An exception to that was Kobo, which would page turn from scrolling while zoomed in.
In every case all of these used ctrl+scroll for zooming, except for paint. Which did not zoom when scrolling with or without ctrl being pressed.

The standard out there is ctrl+scroll is zoom, and standard scrolling scrolls.

If an option is added it should default to scrolling is scrolling and ctrl scrolling is zooming.

case 'KeyA':
left(event, true);
return;
case 'KeyD':
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A & D for page nav feels a bit unintuitive for me when mixed with W & S for tilt, my mind goes to WASD naturally feels like movement and all the keys do similar things.

Can we move A & D to panning and then maybe have Q & E for the page nav?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like this change. It sounds pretty intuitive and useful. I just might implement it myself once I'm done with my other tasks. Provided KojoZero hasn't gotten to it first.

@ZXY101
Copy link
Owner

ZXY101 commented Feb 7, 2025

Awesome stuff, thanks for all the changes!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants