deathbeds / jupyterlab-deck

Lightweight presentations for JupyterLab

Home Page:https://jupyterlab-deck.rtfd.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Enable PageUp / PageDown to support navigation with remote pointers

nthiery opened this issue · comments

Elevator Pitch

Remote pointers typically send PageDown and PageUp events to navigate
through slideshows. It would be therefore handy if jupyterlab-deck supported
these shortcuts.

PageDown: display the next fragment/subslide/slide
PageUp: display the previous fragment/subslide/slide

So presumably PageDown and PageUp could simply be aliased to space and shift-space
(assuming I got their purpose correctly; see #49).

Thanks in advance!

As it stands, these can already be customized through settings:

{
  "shortcuts": [
    {
      "command": "deck:go",
      "keys": [
        "PageDown"
      ],
      "args": {
        "direction": "forward"
      },
      "selector": ".jp-Deck"
    },
    {
      "command": "deck:go",
      "keys": [
        "PageDown"
      ],
      "args": {
        "direction": "back"
      },
      "selector": ".jp-Deck"
    }
  ]
}

Otherwise: it's difficult to anticipate everyone's needs, and thus far those needs have been mine and the few people who wanted this built. On my box when presenting (as I don't have another device), space is big and easy, pgup and friends are tiny and useless, so it never crossed my mind.

Theoretically, there could be another settings stanza that offered a number of pre-baked schemes, but any current work will be driven by just keeping up with the upstreams, a la #36.

Thanks for the feedback! I confirm that shortcut configuration works. Up to one point, if I got it right:
space (and similarly shift-space) is a compound key that actually runs two commands: down and forward.
Is that achievable with shortcut configurations, or would it require to create a new command subsuming
down+forward (which possibly could be best named forward, calling down+right, where right is the current forward?).

For information: I experimented with editing the sources, and adding the following
compound keys in token.js line 195, and that worked smoothly (up to #49):

  [[DIRECTION.down, DIRECTION.forward], ['PageDown']],
  [[DIRECTION.up, DIRECTION.back], ['PageUp']],

Should you accept that as a reasonable default configuration, I can prepare a PR.