The goal of keys
is to add hotkeys to shiny applications using Mousetrap
. With keys
, you can:
Install the released version of keys
from CRAN:
Or install the development version from GitHub with:
# install.packages("devtools") devtools::install_github("r4fun/keys")
You can also install keys
with conda-forge
. More information here: https://github.com/conda-forge/r-keys-feedstock
To use keys
, start by adding a dependency to it using useKeys()
.
Then, you can add a keysInput
to the UI:
library(shiny) library(keys) hotkeys <- c( "1", "command+shift+k", "up up down down left right left right b a enter" ) ui <- fluidPage( useKeys(), keysInput("keys", hotkeys) ) server <- function(input, output, session) { observeEvent(input$keys, { print(input$keys) }) } shinyApp(ui, server)
You can add binding after application launch using addKeys
.
library(shiny) library(keys) ui <- fluidPage( useKeys(), actionButton("add", "Add keybinding") ) server <- function(input, output, session) { observeEvent(input$add, { addKeys("keys", c("a", "b", "c")) }) observeEvent(input$keys, { print(input$keys) }) } shinyApp(ui, server)
Bindings can be removed after application launch using removeKey
.
library(shiny) library(keys) ui <- fluidPage( useKeys(), keysInput("keys", c("a", "b", "c")), actionButton("rm", "Remove `a` keybinding") ) server <- function(input, output, session) { observeEvent(input$rm, { removeKeys("a") }) observeEvent(input$keys, { print(input$keys) }) } shinyApp(ui, server)
For more information about what types of hotkeys you can use, please take a look at the mousetrap github repository.
All credit goes to Craig Campbell who is the author of Mousetrap
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4