Coder Social home page Coder Social logo

mirador-keyboardshortcuts's Introduction

mirador-keyboardshortcuts

npm package required Mirador version

A Mirador 3 plugin which adds keyboard shortcuts for the following events:

  • scroll to the first canvas (default shortcut: ctrl+left)
  • scroll to the previous canvas (default shortcut: left)
  • scroll to the next canvas (default shortcuts: right, space)
  • scroll to the last canvas (default shortcut: ctrl+right)
  • switch to book view (default shortcut: b)
  • switch to gallery view (default shortcut: g)
  • switch to single view (default shortcut: s)
  • toggle fullscreen mode (default shortcuts: enter, f)

Note: the events will only apply to the currently focussed window.

Installation

Currently the plugin can only be used if you build your own Mirador JavaScript bundle. To include the plugin in your Mirador installation, you need to install it from npm with npm install mirador-keyboardshortcuts, import it into your project and pass it to Mirador when you instantiate the viewer:

import Mirador from 'mirador/dist/es/src/index';
import keyboardShortcutsPlugin from 'mirador-keyboardshortcuts/es';

const miradorConfig = {
  // Your Mirador configuration
}
Mirador.viewer(config, [...keyboardShortcutsPlugin]);

Configuration

You can configure the plugin globally by adding the keyboardShortcuts entry to the top-level configuration:

const miradorConfig = {
  // ...
  keyboardShortcuts: {
    // Global config, see available settings below
    shortcutMapping: {
      "navigate-to-first-canvas": "home",
      "toggle-fullscreen": "f",
    },
  },
  // ...
}

You can view an example configuration in demo/src/index.js.

Available settings

shortcutMapping

This is an override for the default mapping of shortcut(s) to event type, the available event types can be found here.

You can either use e.g. "navigate-to-first-canvas" or KeyboardEventTypes.NAVIGATE_TO_FIRST_CANVAS as key, a documentation of the supported shortcuts given as value can be found here.

Contributing

Found a bug? The plugin is not working with your manifest? Want a new feature? Create an issue, or if you want to take a shot at fixing it yourself, make a fork, create a pull request, we're always open to contributions :-)

For larger changes/features, it's usually wise to open an issue before starting the work, so we can discuss if it's a fit.

Note: The package requires Node.js 16 and npm in major version 8.

mirador-keyboardshortcuts's People

Contributors

dependabot[bot] avatar morpheus-87 avatar stefan-it avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mirador-keyboardshortcuts's Issues

Shortcuts for different views

Requirements

Sometimes I need to switch a lot between the gallery view and the book view. Currently this is only possible by first clicking on the window menue icon, and then clicking on the gallery view option. Keyboard shortcuts would simplify working with Mirador while looking for certain images, motifs or image features.

Proposed feature

Add the following shortcuts:

Shortcut Action
g Switch to gallery view
b Switch to book view
s Switch to single image view
f Toggle fullscreen (alias for Enter)

Adding f as an additon to Enter, would allow ergonomic fullscreen toggle with the same hand used for b, g and s while keeping the other hand on the mouse. f is also the standard shortcut for fullscreen in most streaming platforms and therefore familiar to most users (while Enter is the biggest key and therefore easy to use during presentations or quick demos).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.