본문 바로가기

개발하자

Flutter 데스크탑 응용 프로그램에서 글로벌 키보드 단축키를 등록하는 방법은 무엇입니까?

반응형

Flutter 데스크탑 응용 프로그램에서 글로벌 키보드 단축키를 등록하는 방법은 무엇입니까?

플러터 데스크톱 애플리케이션에 글로벌 키보드 단축키(앱이 초점이 맞지 않더라도 작동하는 단축키)를 등록하고 싶습니다. 이 항목에 대한 관련 정보를 찾을 수 없습니다.

힌트 주시면 감사하겠습니다 :)




Floter는 응용프로그램의 범위 밖에 있는 단축키를 등록하는 메커니즘을 제공하지 않습니다. 플랫폼별 코드를 사용하여 등록을 수행한 다음 바로 가기가 트리거되면 다트 쪽에서 메서드를 호출하는 데 사용해야 합니다.




글로벌 바로가기를 등록할 수 있는 플러그인이 있다

전역 바로 가기:

단 하나의 바로 가기만 등록할 수 있기 때문에 이름은 글로벌 바로 가기여야 합니다.




Fluter's를 사용하여 전역 단축키를 등록할 수 있습니다.

바로 가기를 에 모두 추가하세요.

웹 데모를 위해 관계자를 보세요.

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

class GlobalShortcuts extends StatefulWidget {
  final Widget child;

  const GlobalShortcuts({super.key, required this.child});

  @override
  State<GlobalShortcuts> createState() => _GlobalShortcutsState();
}

class _GlobalShortcutsState extends State<GlobalShortcuts> {
  ShortcutRegistryEntry? _shortcutsEntry;

  @override
  void dispose() {
    _shortcutsEntry?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    _shortcutsEntry?.dispose();
    _shortcutsEntry = ShortcutRegistry.of(context).addAll({
      const SingleActivator(LogicalKeyboardKey.keyS, control: true): YourSaveIntent(),
    });

    return widget.child;
  }
}

반응형