Skip to main content

Documentation Index

Fetch the complete documentation index at: https://bym.lonestill.uk/llms.txt

Use this file to discover all available pages before exploring further.

Работают даже когда окно YM не в фокусе. Снимаются при stop() автоматически.

Методы

const unpatch = api.Hotkeys.register(combo, fn)
api.Hotkeys.unregister(combo, fn?)

Формат combo

Формат Electron Accelerator:
Ctrl+Shift+S
Alt+F
CommandOrControl+P
MediaNextTrack
MediaPreviousTrack
MediaPlayPause

Пример

BYM.register({
  id: 'speed-hotkeys',
  settings: [
    { key: 'up',    type: 'string', label: 'Скорость +0.1', default: 'Alt+Up' },
    { key: 'down',  type: 'string', label: 'Скорость -0.1', default: 'Alt+Down' },
    { key: 'reset', type: 'string', label: 'Сброс',         default: 'Alt+R' },
  ],
}, (api, getSetting) => ({
  start() {
    api.Hotkeys.register(getSetting('up') ?? 'Alt+Up', () => {
      const v = Math.min(4, parseFloat((api.Player.getSpeed() + 0.1).toFixed(2)));
      api.Player.setSpeed(v);
      api.UI.toast(v.toFixed(2) + '×', 800);
    });

    api.Hotkeys.register(getSetting('down') ?? 'Alt+Down', () => {
      const v = Math.max(0.25, parseFloat((api.Player.getSpeed() - 0.1).toFixed(2)));
      api.Player.setSpeed(v);
      api.UI.toast(v.toFixed(2) + '×', 800);
    });

    api.Hotkeys.register(getSetting('reset') ?? 'Alt+R', () => {
      api.Player.resetSpeed();
      api.UI.toast('1.00×', 800);
    });
  },
  stop() {},
}));

Ограничения

  • Один combo может быть зарегистрирован только один раз глобально
  • Если другое приложение уже захватило хоткей — регистрация провалится молча