1 个版本 (0 个不稳定)
新 1.0.0-rc.0 | 2024年8月24日 |
---|
#2 in #utilize
每月 149 次下载
12KB
132 行
Tauri Plugin macOS Haptics
在macOS上利用Taptic Engine™️ 为Tauri v2应用。
获取插件
使用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