#tauri-app #macos #tauri-plugin #utilize #tm #engine #taptic

sys tauri-plugin-macos-haptics

在macOS上利用Taptic Engine (TM) 为Tauri v2应用

1 个版本 (0 个不稳定)

1.0.0-rc.02024年8月24日

#2 in #utilize

Download history 149/week @ 2024-08-19

每月 149 次下载

MIT 许可证

12KB
132

Tauri Plugin macOS Haptics

在macOS上利用Taptic Engine™️ 为Tauri v2应用。

Screenshot of the example Tauri project using the plugin.

获取插件

使用crates.io的命令行

$ cargo add tauri-plugin-macos-haptics

或将它手动添加到 Cargo.toml

[target.'cfg(target_os = "macos")'.dependencies]
tauri-plugin-macos-haptics = "1.0.0-rc.0"

注意:如果您只想在macOS上使用,请将

或使用git获取最新版本

[target.'cfg(target_os = "macos")'.dependencies]
tauri-plugin-macos-haptics = { git = "https://github.com/ItsEeleeya/tauri-plugin-macos-haptics/" }

获取前端绑定

pnpm add tauri-plugin-macos-haptics-api
# or
bun add tauri-plugin-macos-haptics-api
# or
npm add tauri-plugin-macos-haptics-api
# or
yarn add tauri-plugin-macos-haptics-api

用法

1. 首先初始化插件

如果您想从前端使用它,则需要这样做。

fn main() {
  let mut builder = tauri::Builder::default();

  #[cfg(target_os = "macos")]
  {
    // You can safely init the plugin on any platform.
    // Or choose to only initialize it on macos.
    builder = builder.plugin(tauri_plugin_macos_haptics::init());
  }

  builder
    .run(tauri::generate_context!())
    .expect("error while running tauri application");
}

2. 权限

"macos-haptics:default" 添加到您的权限中。
通常在 src-tauri/capabilities/*.json 下找到。

了解更多关于特定权限的信息。

3. 执行触觉反馈

从Rust

  use tauri_plugin_macos_haptics::haptics::*;

  fn provide_feedback() {
    #[cfg(target_os = "macos")]
    {
      use tauri_plugin_macos_haptics::haptics::*;
      NSHapticFeedbackManager::default_performer().perform(NSHapticFeedbackPattern::Generic, None).ok();
    }
  }

从前端 (Typescript)

  import { isSupported, perform, HapticFeedbackPattern, PerformanceTime } from 'tauri-plugin-macos-haptics-api';
 
  if (await isSupported()) {
    perform(HapticFeedbackPattern.LevelChange, PerformanceTime.Now);
    // Or call the function with no arguments to default to Generic and now.
  }

⚠️ 请注意,您应该只在响应用户发起的操作时触发反馈。理想情况下,应伴随视觉反馈,例如突出显示或对齐指南的出现。

在某些情况下,系统可能会覆盖对该方法的调用。例如,如果用户没有触摸触控板,Force Touch 触控板将不会提供触觉反馈。
触觉反馈旨在响应用户操作,例如将一个对象与另一个对象对齐。不要将其用于提供非用户发起的事件的反馈。过度或不必要的触觉反馈可能会被用户解释为故障,并可能导致用户完全禁用触觉反馈。

了解更多关于NSHapticFeedbackManager (Apple的文档)

贡献

欢迎任何贡献!

依赖项

~17–61MB
~889K SLoC