[Feature]: Support using the "Fn" key alone as push-to-talk hotkey on macOS

未关闭
#1,083 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
50/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
macos, rust, tauri
领域
desktop

调研方向

Start at the CGEventTap-based hotkey recorder named in the issue and confirm which event types it currently listens for; Fn arrives as a flagsChanged event from the 0x00FF Apple vendor top-case HID page, not keyDown, so the recorder never sees it. Then find the settings hotkey-recorder field and its persisted hotkey value so a separate "Use Fn key" toggle can be added alongside it. Done means Fn can be set alone as push-to-talk and the recording field visibly detects the press; there is no linked PR or assignee yet, so check comments before starting.

由索引模型根据 Issue 内容生成。

描述

Area

Voice capture / hotkey

Problem or workflow

On MacBook Pro (and other MacBook models), the physical keyboard has no "Right Control" key — only a left Control key. The current default hotkey shown in settings is "Right ^" (Right Control), which cannot be pressed at all on the built-in keyboard.

I tried setting the hotkey to "Fn" instead (as some alternative dictation tools support), but the hotkey recorder does not detect the Fn key press at all — nothing happens when Fn is pressed in the recording field.

This is likely because Fn triggers a flagsChanged event on macOS rather than a standard keyDown event, and the hardware sits on a different HID usage page (0x00FF, Apple vendor top-case keys) than regular keys, which the current CGEventTap-based hotkey recorder does not capture.

Proposed Solution

Add a dedicated "Use Fn key" option (similar to a toggle, separate from the normal hotkey recorder) that listens for Fn via flagsChanged events at the .cghidEventTap level, consistent with how other Mac dictation tools have implemented this (e.g. OpenTypeless shipped Fn support in v1.1.49 via the native hotkey path).

Alternatives Considered

Currently working around this by using Right Option (⌥) as the hotkey instead, since it's a real key on the built-in keyboard. This works but is less convenient for one-handed triggering compared to Fn.

Additional Context
  • macOS version: MacOS 26.6.2 (25G83)
  • OpenLess version: Version 1.3.18 (1.3.18)
  • Hardware: MacBook Pro
Before submitting
  • I have searched existing issues and discussions.
  • I am willing to help test this feature if it lands.
主要语言
Rust
星标
3.7k
派生
349
平均合并
2 天 14 小时
30 天内合并 PR
97

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Open-Less/openless 的其他 Issue

查看 Open-Less/openless 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。