ui.root.setKeyHandler

  • The setKeyHandler function adds a keydown event handler to the root panel for a specific key or key combination.

  • The handler is executed only once when the assigned key command is pressed.

  • A key or key combination can only have one handler bound to it at a time, with the most recently set handler taking precedence.

Sets a keydown event handler to the root panel with a non-predefined key. The handler is fired only once when a user presses the bound key command. The same key will be bound to the latest handler set to it.

UsageReturns
ui.root.setKeyHandler(keyCode, handler, description)
ArgumentTypeDetails
keyCodeList[ui.Key]|ui.KeyA key code or an array of key codes. For example, ui.Key.A or [ui.Key.SHIFT, ui.Key.A].
handlerFunctionThe handler for the key command.
descriptionString, optionalA short description that explains this key command. The description will be visible in the Shortcuts Menu.

Examples

Code Editor (JavaScript)

// Replace the default UI widgets with a few custom widgets.
// Print "Shift A" to the console when Shift+A is pressed.
ui.root.setKeyHandler(
  [ui.Key.SHIFT, ui.Key.A],
  function() {
    print('Shift A');
  },
  'A simple print'
);

// Create a solid black image.
var blackImage = ee.Image(1).visualize({palette: ['black']});

// Create a Layer object so we can easily manipulate its properties.
var blackLayer = ui.Map.Layer(blackImage, {}, 'Black Overlay', true);

// Add the layer to the Map.
Map.layers().add(blackLayer);

// Pressing the "b" key will toggle the layer on and off.
ui.root.setKeyHandler(ui.Key.B, function() {
  // Get the current visibility state.
  var isShown = blackLayer.getShown();

  // Set the visibility to the opposite of the current state.
  blackLayer.setShown(!isShown);

  // Print the status to the console.
  print('Black layer visible: ' + !isShown);
}, 'Toggle black layer');