Electron React Native для сочетаний клавиш в Интернете - PullRequest
2 голосов
/ 25 февраля 2020

Я пытаюсь добавить сочетания клавиш специально для электронной (веб) сборки веб-приложения реагировать на родную сеть.

У меня есть некоторые сочетания клавиш, уже определенные как ускорители в index.electron.js, но я хочу, чтобы они новые ярлыки не должны присутствовать в меню, и для их выполнения требуются реагирующие действия / редукторы.

Я попытался добавить window.onkeydown = (e) => { в App.web.js::componentDidMount, однако это работает только при запуске приложения в браузере. Когда я создаю приложение и запускаю его в электронном формате (который запускает .web версии файлов), я получаю cra sh относительно window, который не был определен.

Я в тупике от того, как go о добавлении сочетаний клавиш / прослушивателей событий (запускающих код реакции-1011 *) в приложение Electron, созданное с использованием React-Native для веб-сайтов.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 25 февраля 2020

Вы должны использовать Electron API globalShortcut и IP C для отправки событий на веб-страницу.

Основной код процесса

  const { globalShortcut } = require('electron')

  // this will be triggered when the accelerator is pressed
  // even if the app is in the background
  const ret = globalShortcut.register("Your_Accelerator", () => {
    yourWindow.webContents.send("shortcut", "shortcut has been pressed")
  });

  if (!ret) {
    console.log("registration failed");
  } else {
    console.log("registration succeeded");
  }

Код процесса визуализации

  const { ipcRenderer } = require("electron");
  ipcRenderer.on("shortcut", (event, message) => {
    console.log(message) // Prints "shortcut has been pressed"
  })
1 голос
/ 25 февраля 2020

Я не часто использую реагирующий-родной, поэтому я не уверен, возможно ли это сделать только с помощью фреймворка. Предполагая, что вы используете npm, вы можете просто загрузить пакет, который может это поддерживать. реагирует на горячие клавиши звучит так, как будто оно может делать то, для чего нужны ярлыки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...