You can add a listener for keystrokes. Shiny.onInputChange can be used to bind a key to a brilliant variable:
library(shiny) runApp( list(ui = bootstrapPage( verbatimTextOutput("results"), tags$script(' $(document).on("keypress", function (e) { Shiny.onInputChange("mydata", e.which); }); ') ) , server = function(input, output, session) { output$results = renderPrint({ input$mydata }) } ))
for keydown events you can replace:
tags$script(' $(document).on("keydown", function (e) { Shiny.onInputChange("mydata", e.which); }); ')
jdharrison
source share