tracky-mouse 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/images/head-not-found.svg +135 -0
  2. package/images/manual-takeback.svg +127 -0
  3. package/locales/ar/translation.json +197 -202
  4. package/locales/ar-EG/translation.json +197 -202
  5. package/locales/bg/translation.json +197 -202
  6. package/locales/bn/translation.json +197 -202
  7. package/locales/ca/translation.json +197 -202
  8. package/locales/ce/translation.json +197 -202
  9. package/locales/ceb/translation.json +197 -202
  10. package/locales/cs/translation.json +197 -202
  11. package/locales/da/translation.json +197 -202
  12. package/locales/de/translation.json +197 -202
  13. package/locales/el/translation.json +197 -202
  14. package/locales/emoji/translation.json +197 -202
  15. package/locales/en/translation.json +197 -202
  16. package/locales/eo/translation.json +197 -202
  17. package/locales/es/translation.json +197 -202
  18. package/locales/eu/translation.json +197 -202
  19. package/locales/fa/translation.json +197 -202
  20. package/locales/fi/translation.json +197 -202
  21. package/locales/fr/translation.json +197 -202
  22. package/locales/gu/translation.json +197 -202
  23. package/locales/ha/translation.json +197 -202
  24. package/locales/he/translation.json +197 -202
  25. package/locales/hi/translation.json +197 -202
  26. package/locales/hr/translation.json +197 -202
  27. package/locales/hu/translation.json +197 -202
  28. package/locales/hy/translation.json +197 -202
  29. package/locales/id/translation.json +197 -202
  30. package/locales/it/translation.json +197 -202
  31. package/locales/ja/translation.json +197 -202
  32. package/locales/jv/translation.json +197 -202
  33. package/locales/ko/translation.json +197 -202
  34. package/locales/mr/translation.json +197 -202
  35. package/locales/ms/translation.json +197 -202
  36. package/locales/nan/translation.json +197 -202
  37. package/locales/nb/translation.json +197 -202
  38. package/locales/nl/translation.json +197 -202
  39. package/locales/pa/translation.json +197 -202
  40. package/locales/pl/translation.json +197 -202
  41. package/locales/pt/translation.json +197 -202
  42. package/locales/pt-BR/translation.json +197 -202
  43. package/locales/ro/translation.json +197 -202
  44. package/locales/ru/translation.json +197 -202
  45. package/locales/sk/translation.json +197 -202
  46. package/locales/sl/translation.json +197 -202
  47. package/locales/sr/translation.json +197 -202
  48. package/locales/sv/translation.json +197 -202
  49. package/locales/sw/translation.json +197 -202
  50. package/locales/ta/translation.json +197 -202
  51. package/locales/te/translation.json +197 -202
  52. package/locales/th/translation.json +197 -202
  53. package/locales/tl/translation.json +197 -202
  54. package/locales/tr/translation.json +197 -202
  55. package/locales/tt/translation.json +197 -202
  56. package/locales/uk/translation.json +197 -202
  57. package/locales/ur/translation.json +197 -202
  58. package/locales/uz/translation.json +197 -202
  59. package/locales/vi/translation.json +197 -202
  60. package/locales/war/translation.json +197 -202
  61. package/locales/zh/translation.json +197 -202
  62. package/locales/zh-simplified/translation.json +198 -203
  63. package/package.json +2 -1
  64. package/tracky-mouse.css +72 -6
  65. package/tracky-mouse.js +300 -217
@@ -1,204 +1,199 @@
1
1
  {
2
- "\n\nOptions:\n": "\n\n选项:\n",
3
- "\n\nSince this is a git repository, the update can be pulled directly.": "\n\n由于这是一个 git 仓库,可以直接拉取更新。",
4
- "⚠️ ": "⚠️ ",
5
- "A new version of Tracky Mouse is available: %0\n\nYou are currently using version %1.": "Tracky Mouse 有新版本可用:%0\n\n当前正在使用版本 %1。",
6
- "About Tracky Mouse": "关于 Tracky Mouse",
7
- "Acceleration": "加速度",
8
- "Adjust an option by an amount relative to its current value. (Also outputs the new value, which may be constrained to some limits.)": "按相对当前值的变化量调整某个选项。(同时输出新值,新值可能会被限制在一定范围内。)",
9
- "Adjusts the center position of horizontal head tilt. Not recommended. Move the camera instead if possible.": "调整水平头部倾斜的中心位置。不推荐使用;如有可能,请改为移动摄像头。",
10
- "Adjusts the center position of horizontal head tilt. This horizontal offset is not recommended. Move the camera instead if possible.": "调整水平头部倾斜的中心位置。此水平偏移不推荐使用,如有可能,请改为移动摄像头。",
11
- "Adjusts the center position of vertical head tilt.": "调整垂直头部倾斜的中心位置。",
12
- "Adjusts the position of the cursor when the camera sees the head facing straight ahead.": "当摄像头看到你的头部正对前方时,调整鼠标指针所在的位置。",
13
- "Adjusts the position of the cursor when the camera sees the head facing straight ahead.\n⚠️ This horizontal offset is not recommended. Move the camera instead if possible. 📷": "当摄像头看到你的头部正对前方时,调整鼠标指针所在的位置。\n⚠️ 不推荐使用水平偏移,如有可能,请改为移动摄像头。📷",
14
- "Allow Camera Access": "允许访问摄像头",
15
- "An error occurred while updating from git.": " git 更新时发生错误。",
16
- "Automatically starts Tracky Mouse as soon as it's run.": "在启动 Tracky Mouse 后自动立即开始工作。",
17
- "Blends between using point tracking (2D) and detected head tilt (3D).\n- At 0% it will use only point tracking. This moves the cursor according to visible movement of 2D points on your face within the camera's view, so it responds to both head rotation and translation.\n- At 100% it will use only head tilt. This uses an estimate of your face's orientation in 3D space, and ignores head translation. Note that this is smoothed, so it's not as responsive as point tracking. In this mode you never need to recenter by pushing the cursor to the edge of the screen.\n- In between it will behave like an automatic calibration, subtly adjusting the point tracking to match the head tilt. This works by slowing down mouse movement that is moving away from the position that would be expected based on the head tilt, and (only past 80% on the slider) actively moving towards it.": "在点跟踪(2D)和检测到的头部倾斜(3D)之间进行融合。\n- 设为 0% 时,仅使用点跟踪。鼠标根据摄像头视野中你脸部 2D 特征点的可见位移来移动,因此会对头部的旋转和平移都有响应。\n- 设为 100% 时,仅使用头部倾斜。它使用你面部在三维空间中的朝向估计,忽略头部的平移。注意这里进行了平滑处理,所以响应不会像点跟踪那样迅速。在此模式下,你无需通过把鼠标推到屏幕边缘来重新归中。\n- 介于两者之间时,它会像自动校准一样工作,轻微调整点跟踪以匹配头部倾斜。对于偏离根据头部倾斜所预期位置的鼠标移动,会减慢其速度,并且(只有当滑块超过 80% 时)会主动向预期位置移动。",
18
- "Camera %0": "摄像头 %0",
19
- "Camera source": "摄像头来源",
20
- "Change an option to a particular value. (Also outputs the new value, which may be constrained to some limits.)": "将某个选项设置为指定的值。(同时输出新值,新值可能会被限制在一定范围内。)",
21
- "Changes the language Tracky Mouse is displayed in.": "更改 Tracky Mouse 显示使用的语言。",
22
- "Check for updates": "检查更新",
23
- "Checked out %0. Restart the app to use the updated version.": "已检出 %0。重启应用以使用更新后的版本。",
24
- "Choose how to perform mouse clicks.": "选择如何执行鼠标点击。",
25
- "Clicking": "点击",
26
- "Clicking mode:": "点击模式:",
27
- "Close": "关闭",
28
- "Close eyes to start/stop (<span style=\"border-bottom: 1px dotted;\" title=\"• There is currently no visual or auditory feedback.\n• There are no settings for duration(s) to toggle on and off.\n• It is affected by false positive blink detections, especially when looking downward.\">Experimental</span>)": "闭眼开始/停止(<span style=\"border-bottom: 1px dotted;\" title=\"• 目前没有可见或可听的反馈。\n• 暂时没有可配置的长短时间来切换开启/关闭。\n• 容易受到误判眨眼的影响,尤其是向下看时。\">实验性功能</span>)",
29
- "Close one eye to click. Left eye for left click, right eye for right click.": "闭上一只眼来点击。左眼闭合为左键点击,右眼闭合为右键点击。",
30
- "config.afterDispatch must be a function": "config.afterDispatch 必须是一个函数",
31
- "config.beforeDispatch must be a function": "config.beforeDispatch 必须是一个函数",
32
- "config.beforePointerDownDispatch must be a function": "config.beforePointerDownDispatch 必须是一个函数",
33
- "config.click is required": "必须提供 config.click",
34
- "config.click must be a function": "config.click 必须是一个函数",
35
- "config.dwellClickEvenIfPaused must be a function": "config.dwellClickEvenIfPaused 必须是一个函数",
36
- "config.isEquivalentTarget must be a function": "config.isEquivalentTarget 必须是一个函数",
37
- "config.isHeld must be a function": "config.isHeld 必须是一个函数",
38
- "config.noCenter must be a function": "config.noCenter 必须是一个函数",
39
- "config.retarget must be an array of objects": "config.retarget 必须是一个对象数组",
40
- "config.retarget[%0].from is not a valid CSS selector": "config.retarget[%0].from 不是有效的 CSS 选择器",
41
- "config.retarget[%0].from is required": "必须提供 config.retarget[%0].from",
42
- "config.retarget[%0].from must be a CSS selector string, an Element, or a function": "config.retarget[%0].from 必须是 CSS 选择器字符串、Element 或函数",
43
- "config.retarget[%0].to is not a valid CSS selector": "config.retarget[%0].to 不是有效的 CSS 选择器",
44
- "config.retarget[%0].to is required (although can be null to ignore the element)": "必须提供 config.retarget[%0].to(也可以为 null 以忽略该元素)",
45
- "config.retarget[%0].to must be a CSS selector string, an Element, a function, or null": "config.retarget[%0].to 必须是 CSS 选择器字符串、Element、函数或 null",
46
- "config.retarget[%0].withinMargin must be a number": "config.retarget[%0].withinMargin 必须是数字",
47
- "config.shouldDrag must be a function": "config.shouldDrag 必须是一个函数",
48
- "config.targets is not a valid CSS selector": "config.targets 不是有效的 CSS 选择器",
49
- "config.targets is required (must be a CSS selector)": "必须提供 config.targets(必须是 CSS 选择器)",
50
- "config.targets must be a string (a CSS selector)": "config.targets 必须是字符串(CSS 选择器)",
51
- "configuration object required for initDwellClicking": "initDwellClicking 需要配置对象",
52
- "Control your computer with your webcam.": "用摄像头控制你的电脑。",
53
- "Control your mouse hands-free. This CLI controls the running Tracky Mouse app. It's meant for external programs like a voice command system to toggle Tracky Mouse and adjust settings on the fly.": "无需用手即可控制鼠标。此命令行工具用于控制正在运行的 Tracky Mouse 应用,供语音指令系统等外部程序切换 Tracky Mouse 状态并实时调整设置。",
54
- "Controls how much you need to tilt your head left or right to reach the edge of the screen.": "控制你需要将头向左或向右倾斜多少才能移动到屏幕边缘。",
55
- "Controls how much you need to tilt your head up or down to reach the edge of the screen.": "控制你需要将头向上或向下倾斜多少才能移动到屏幕边缘。",
56
- "Couldn't checkout the latest version in the local git repository. You may have uncommitted changes.": "无法在本地 git 仓库中检出最新版本。可能存在未提交的更改。",
57
- "Couldn't fetch updates from git.": "无法从 git 获取更新。",
58
- "Cursor Movement": "光标移动",
59
- "Default": "默认",
60
- "Delay before dragging&nbsp;&nbsp;&nbsp;": "开始拖动前的延迟&nbsp;&nbsp;&nbsp;",
61
- "Determines whether cursor movement is based on 3D head tilt, or 2D motion of the face in the camera feed.": "决定光标移动是基于三维头部倾斜,还是基于摄像头画面中脸部的二维运动。",
62
- "Disable clicking. Use with an external switch or programs that provide their own dwell clicking.": "禁用点击。可与外部开关或自带悬停点击功能的程序配合使用。",
63
- "Down": "",
64
- "Download": "下载",
65
- "Dwell to click": "悬停点击",
66
- "Easy to click": "易于点击",
67
- "Easy to drag": "易于拖动",
68
- "Edit": "编辑",
69
- "Export": "导出",
70
- "Export Settings": "导出设置",
71
- "Face convergence score: ": "面部收敛评分:",
72
- "Face tracking score: ": "面部跟踪评分:",
73
- "Failed to backup current settings before import.\n\n": "在导入前备份当前设置失败。\n\n",
74
- "Failed to export settings.\n\n": "导出设置失败。\n\n",
75
- "Failed to import settings.\n\n": "导入设置失败。\n\n",
76
- "Failed to install dependencies for the new version after checking it out from git.": "从 git 检出新版本后,安装依赖失败。",
77
- "Failed to open camera settings:\n": "无法打开摄像头设置:\n",
78
- "Failed to parse known cameras from localStorage:\n": "无法从 localStorage 解析已知摄像头:\n",
79
- "Failed to read selected file.\n\n": "读取所选文件失败。\n\n",
80
- "Fast": "",
81
- "File": "文件",
82
- "Free": "空闲",
83
- "General": "常规",
84
- "GitHub Repository": "GitHub 仓库",
85
- "Head tilt": "头部倾斜",
86
- "Head tilt (3D)": "头部倾斜(3D)",
87
- "Head tilt calibration": "头部倾斜校准",
88
- "Higher acceleration makes the cursor move faster when the head moves quickly, and slower when the head moves slowly.": "较高的加速度会让头部快速移动时鼠标更快移动,头部缓慢移动时鼠标更慢移动。",
89
- "Hold the cursor in place for a short time to click.": "将光标保持在原位一小段时间以执行点击。",
90
- "Home Page": "主页",
91
- "Horizontal cursor offset": "水平光标偏移",
92
- "Horizontal sensitivity": "水平灵敏度",
93
- "Horizontal tilt range": "水平倾斜范围",
94
- "How much you need to tilt your head left and right to reach the edges of the screen.": "你需要将头向左、向右倾斜多少才能移动到屏幕两侧边缘。",
95
- "How much you need to tilt your head left or right to reach the edge of the screen.": "你需要将头向左或向右倾斜多少才能移动到屏幕边缘。",
96
- "How much you need to tilt your head up and down to reach the edges of the screen.": "你需要将头向上、向下倾斜多少才能移动到屏幕上下边缘。",
97
- "How much you need to tilt your head up or down to reach the edge of the screen.": "你需要将头向上或向下倾斜多少才能移动到屏幕边缘。",
98
- "If enabled, Tracky Mouse will automatically check for updates when it starts.": "启用后,Tracky Mouse 启动时会自动检查更新。",
99
- "If enabled, Tracky Mouse will automatically start when you log into your computer.": "启用后,你登录电脑时会自动启动 Tracky Mouse。",
100
- "If enabled, Tracky Mouse will start controlling the cursor as soon as it's launched.": "启用后,Tracky Mouse 启动时会立刻开始控制光标。",
101
- "If enabled, you can start or stop mouse control by holding both your eyes shut for a few seconds.": "启用后,你可以闭上双眼几秒钟来开始或停止鼠标控制。",
102
- "Import": "导入",
103
- "Import Settings": "导入设置",
104
- "JSON": "JSON",
105
- "Language": "语言",
106
- "Large neck movement": "大量颈部动作",
107
- "Later": "稍后",
108
- "Left": "",
109
- "Linear": "线性",
110
- "Little neck movement": "少量颈部动作",
111
- "Locks mouse movement during the start of a click to prevent accidental dragging.": "在开始点击时暂时锁定鼠标移动,以防止误拖动。",
112
- "Locks mouse movement for the given duration during the start of a click.\nYou may want to turn this off if you're drawing on a canvas, or increase it if you find yourself accidentally dragging when you try to click.": "在开始点击时,在设定的时长内锁定鼠标移动。\n如果你在画布上绘图,可能希望关闭该功能;如果经常在点击时不小心拖动,可以适当增加该时长。",
113
- "Makes the cursor move extra fast for quick head movements, and extra slow for slow head movements. Helps to stabilize the cursor.": "让头部快速移动时光标额外加速,头部缓慢移动时光标额外减速,有助于稳定光标。",
114
- "Makes the cursor move relatively fast for quick head movements, and relatively slow for slow head movements.\nHelps to stabilize the cursor. However, when using point tracking in combination with head tilt, a lower value may work better since head tilt is linear, and you want the point tracking to roughly match the head tracking for it to act as a seamless auto- calibration.": "让头部快速移动时光标相对更快,头部缓慢移动时光标相对更慢。\n有助于稳定光标。不过,当点跟踪与头部倾斜结合使用时,较低的数值可能效果更好,因为头部倾斜是线性的,你希望点跟踪与头部跟踪大致匹配,从而起到无缝自动校准的作用。",
115
- "Makes Tracky Mouse active as soon as it's launched.": "使 Tracky Mouse 在启动后立即处于启用状态。",
116
- "Makes Tracky Mouse active when launched. Otherwise, you can start it manually when you're ready.": "使 Tracky Mouse 在启动时即处于启用状态。否则,你可以在准备好时手动启动。",
117
- "Makes Tracky Mouse start automatically when you log into your computer.": "使 Tracky Mouse 在你登录电脑时自动启动。",
118
- "Minimum distance to move the cursor in one frame, in pixels. Helps to fully stop the cursor.": "每帧光标需要移动的最小距离(像素)。有助于让光标彻底停下。",
119
- "Mirror": "镜像",
120
- "Mirrors the camera view horizontally.": "水平镜像摄像头画面。",
121
- "Motion threshold": "运动阈值",
122
- "Movement less than this distance in pixels will be ignored.": "低于此像素距离的移动将被忽略。",
123
- "N/A": "N/A",
124
- "No camera found. Please make sure you have a camera connected and enabled.": "未找到摄像头。请确认已连接并启用了摄像头。",
125
- "Notifies you of new versions of Tracky Mouse.": "在有新的 Tracky Mouse 版本时提醒你。",
126
- "Notifies you when a new version of Tracky Mouse is available.": "在有新的 Tracky Mouse 版本可用时通知你。",
127
- "Off": "关闭",
128
- "Open Camera Settings": "打开摄像头设置",
129
- "Open download page": "打开下载页面",
130
- "Open mouth to click (ignoring eyes)": "张嘴点击(忽略眼睛)",
131
- "Open mouth to click (simple)": "张嘴点击(简化)",
132
- "Open mouth to click (with eye modifiers)": "张嘴点击(带眼睛修饰)",
133
- "Open your camera's system settings window to adjust properties like brightness and contrast.": "打开摄像头的系统设置窗口,以调整亮度、对比度等属性。",
134
- "Open your mouth wide to click. At least one eye must be open to click.": "大张嘴来点击。至少有一只眼睛是睁开的才能触发点击。",
135
- "Open your mouth wide to click. Eye state is ignored.": "大张嘴来点击,完全忽略眼睛状态。",
136
- "Open your mouth wide to click. If left eye is closed, it's a right click; if right eye is closed, it's a middle click.": "大张嘴来点击。如果左眼闭合,则为右键单击;如果右眼闭合,则为中键单击。",
137
- "Opens the system settings dialog for the selected camera, to adjust properties like auto-focus and auto-exposure.": "打开所选摄像头的系统设置对话框,以调整自动对焦、自动曝光等属性。",
138
- "Opens the system settings window for your camera to adjust properties like auto-focus and auto-exposure.": "打开摄像头的系统设置窗口,以调整自动对焦、自动曝光等属性。",
139
- "Optical flow": "光流",
140
- "Outputs the current value of an option.": "输出某个选项的当前值。",
141
- "Permission denied. Please enable access to the camera.": "权限被拒绝。请启用对摄像头的访问。",
142
- "Pitch: ": "俯仰:",
143
- "Please make sure no other programs are using the camera and try again.": "请确认没有其他程序正在使用摄像头,然后重试。",
144
- "Point tracking": "点跟踪",
145
- "Point tracking (2D)": "点跟踪(2D)",
146
- "Points based on score: ": "基于评分的点数:",
147
- "Press %0 to disable Tracky Mouse.": "按 %0 可禁用 Tracky Mouse。",
148
- "Press %0 to enable Tracky Mouse.": "按 %0 可启用 Tracky Mouse。",
149
- "Press %0 to toggle Tracky Mouse.": "按 %0 可切换 Tracky Mouse 的启用状态。",
150
- "Range of horizontal head tilt that moves the cursor from one side of the screen to the other.": "使光标从屏幕一侧移动到另一侧所需的水平头部倾斜范围。",
151
- "Range of vertical head tilt required to move the cursor from the top to the bottom of the screen.": "使光标从屏幕顶部移动到底部所需的垂直头部倾斜范围。",
152
- "Remind me later": "稍后提醒我",
153
- "Restart Now": "立即重启",
154
- "Right": "",
155
- "Roll: ": "滚转: ",
156
- "Run at login": "登录时运行",
157
- "Select the language for the Tracky Mouse interface.": "选择 Tracky Mouse 界面使用的语言。",
158
- "Select which camera to use for head tracking.": "选择用于头部跟踪的摄像头。",
159
- "Selects which camera is used for head tracking.": "选择用于头部跟踪的摄像头。",
160
- "Show the version number.": "显示版本号。",
161
- "Skip this version": "跳过此版本",
162
- "Slow": "",
163
- "Smooth": "平滑",
164
- "Smoothing": "平滑度",
165
- "Something went wrong accessing the camera.": "访问摄像头时出现问题。",
166
- "Something went wrong accessing the camera. Please try again.": "访问摄像头时出现问题。请重试。",
167
- "Speech": "语音",
168
- "Speed in pixels/frame required to move the cursor.": "需要移动光标的速度(像素/帧)。",
169
- "Speed of cursor movement in response to horizontal head movement.": "针对水平头部运动时光标移动的速度。",
170
- "Speed of cursor movement in response to vertical head movement.": "针对垂直头部运动时光标移动的速度。",
171
- "Start": "开始",
172
- "Start enabled": "启动时启用",
173
- "Start head tracking.": "开始头部跟踪。",
174
- "Steady": "稳定",
175
- "Stop": "停止",
176
- "Stop head tracking.": "停止头部跟踪。",
177
- "Swap mouse buttons": "交换鼠标按钮",
178
- "Switches the left and right mouse buttons.\nUseful if your system's mouse buttons are swapped.\nCould also be used to right click with the dwell clicker in a pinch.": "交换鼠标左右键。\n如果你的系统已经交换了鼠标左右键,这会很有用。\n在需要时也可用悬停点击器来实现右键点击。",
179
- "The previously selected camera is not available. Try selecting \"Default\" for Video > Camera source, and then select a specific camera if you need to.": "之前选择的摄像头不可用。请在“视频 > 摄像头来源”中先选择“默认”,如有需要再选择具体的摄像头。",
180
- "The settings profile to use.": "要使用的设置配置。",
181
- "Tilt influence": "倾斜影响程度",
182
- "Toggle Developer Tools (Screen Overlay)": "切换开发者工具(屏幕叠加层)",
183
- "Unavailable": "不可用",
184
- "Unavailable camera": "摄像头不可用",
185
- "Up": "",
186
- "Update Available": "有可用更新",
187
- "Update Failed": "更新失败",
188
- "Update from Git": " Git 更新",
189
- "Update Successful": "更新成功",
190
- "Use demo footage": "使用示例视频",
191
- "Use my camera": "使用我的摄像头",
192
- "Vertical cursor offset": "垂直光标偏移",
193
- "Vertical sensitivity": "垂直灵敏度",
194
- "Vertical tilt range": "垂直倾斜范围",
195
- "Video": "视频",
196
- "View": "查看",
197
- "Webcam does not support the required resolution. Please change your settings.": "网络摄像头不支持所需的分辨率。请更改设置。",
198
- "Webcam is already in use. Please make sure you have no other programs using the camera.": "网络摄像头已被占用。请确认没有其他程序正在使用摄像头。",
199
- "Will resume after mouse stops moving.": "在鼠标停止移动后将恢复。",
200
- "Window": "窗口",
201
- "Wink to click": "眨眼点击",
202
- "Yaw: ": "偏航: ",
203
- "You can control your entire computer with the <a href=\"https://trackymouse.js.org/\">TrackyMouse</a> desktop app.": "你可以使用 <a href=\"https://trackymouse.js.org/\">TrackyMouse</a> 桌面应用来控制整台电脑。"
204
- }
2
+ "api.errors.clickRequired": "必须提供 config.click",
3
+ "api.errors.configRequired": "initDwellClicking 需要配置对象",
4
+ "api.errors.functionRequired": "%0 必须是一个函数",
5
+ "api.errors.numberRequired": "%0 必须是数字",
6
+ "api.errors.retargetFromInvalidSelector": "config.retarget[%0].from 不是有效的 CSS 选择器",
7
+ "api.errors.retargetFromInvalidType": "config.retarget[%0].from 必须是 CSS 选择器字符串、Element 或函数",
8
+ "api.errors.retargetFromRequired": "必须提供 config.retarget[%0].from",
9
+ "api.errors.retargetMustBeArray": "config.retarget 必须是一个对象数组",
10
+ "api.errors.retargetToInvalidSelector": "config.retarget[%0].to 不是有效的 CSS 选择器",
11
+ "api.errors.retargetToInvalidType": "config.retarget[%0].to 必须是 CSS 选择器字符串、Element、函数或 null",
12
+ "api.errors.retargetToRequired": "必须提供 config.retarget[%0].to(也可以为 null 以忽略该元素)",
13
+ "api.errors.targetsInvalidSelector": "config.targets 不是有效的 CSS 选择器",
14
+ "api.errors.targetsMustBeSelectorString": "config.targets 必须是字符串(CSS 选择器)",
15
+ "api.errors.targetsRequired": "必须提供 config.targets(必须是 CSS 选择器)",
16
+ "cli.args.adjust.description": "按相对当前值的变化量调整某个选项。(同时输出新值,新值可能会被限制在一定范围内。)",
17
+ "cli.args.cli-lang.description": "指定 CLI 使用的语言。",
18
+ "cli.args.get.description": "输出某个选项的当前值。",
19
+ "cli.args.profile.description": "要使用的设置配置。",
20
+ "cli.args.set.description": "将某个选项设置为指定的值。(同时输出新值,新值可能会被限制在一定范围内。)",
21
+ "cli.args.start.description": "开始头部跟踪。",
22
+ "cli.args.stop.description": "停止头部跟踪。",
23
+ "cli.args.version.description": "显示版本号。",
24
+ "cli.description": "无需用手即可控制鼠标。此命令行工具用于控制正在运行的 Tracky Mouse 应用,供语音指令系统等外部程序切换 Tracky Mouse 状态并实时调整设置。",
25
+ "common.close": "关闭",
26
+ "common.fileTypeJson": "JSON",
27
+ "common.notApplicable": "N/A",
28
+ "common.warningIcon": "⚠️",
29
+ "debug.faceConvergenceScore": "面部收敛评分:",
30
+ "debug.faceTrackingScore": "面部跟踪评分:",
31
+ "debug.headTilt.pitch": "俯仰:",
32
+ "debug.headTilt.roll": "滚转:",
33
+ "debug.headTilt.yaw": "偏航:",
34
+ "debug.pointsBasedOnScore": "基于评分的点数:",
35
+ "desktop.about.description": "用摄像头控制你的电脑。",
36
+ "desktop.about.title": "关于 Tracky Mouse",
37
+ "desktop.importSettings.title": "导入设置",
38
+ "desktop.menu.edit": "编辑",
39
+ "desktop.menu.export": "导出",
40
+ "desktop.menu.exportSettings": "导出设置",
41
+ "desktop.menu.exportSettingsError": "导出设置失败。",
42
+ "desktop.menu.file": "文件",
43
+ "desktop.menu.githubRepository": "GitHub 仓库",
44
+ "desktop.menu.homePage": "主页",
45
+ "desktop.menu.import": "导入",
46
+ "desktop.menu.importBackupError": "在导入前备份当前设置失败。",
47
+ "desktop.menu.importError": "导入设置失败。",
48
+ "desktop.menu.importReadError": "读取所选文件失败。",
49
+ "desktop.menu.importSettings": "导入设置",
50
+ "desktop.menu.speech": "语音",
51
+ "desktop.menu.toggleScreenOverlayDevtools": "切换开发者工具(屏幕叠加层)",
52
+ "desktop.menu.view": "查看",
53
+ "desktop.menu.window": "窗口",
54
+ "desktop.updater.action.doNotRestartYet": "稍后",
55
+ "desktop.updater.action.download": "下载",
56
+ "desktop.updater.action.openDownloadPage": "打开下载页面",
57
+ "desktop.updater.action.remindMeLater": "稍后提醒我",
58
+ "desktop.updater.action.restartNow": "立即重启",
59
+ "desktop.updater.action.skipThisVersion": "跳过此版本",
60
+ "desktop.updater.action.updateFromGit": "从 Git 更新",
61
+ "desktop.updater.errors.checkout": "无法在本地 git 仓库中检出最新版本。可能存在未提交的更改。",
62
+ "desktop.updater.errors.fetch": "无法从 git 获取更新。",
63
+ "desktop.updater.errors.generic": "从 git 更新时发生错误。",
64
+ "desktop.updater.errors.install": "从 git 检出新版本后,安装依赖失败。",
65
+ "desktop.updater.updateAvailable.gitRepoNote": "由于这是一个 git 仓库,可以直接拉取更新。",
66
+ "desktop.updater.updateAvailable.message": "Tracky Mouse 有新版本可用:%0\n\n当前正在使用版本 %1。",
67
+ "desktop.updater.updateAvailable.title": "有可用更新",
68
+ "desktop.updater.updateFailed.title": "更新失败",
69
+ "desktop.updater.updateSuccessful.message": "已检出 %0。重启应用以使用更新后的版本。",
70
+ "desktop.updater.updateSuccessful.title": "更新成功",
71
+ "hud.pressToDisable": " %0 可禁用 Tracky Mouse。",
72
+ "hud.pressToEnable": " %0 可启用 Tracky Mouse。",
73
+ "hud.pressToToggle": "按 %0 可切换 Tracky Mouse 的启用状态。",
74
+ "hud.willResumeAfterMouseStops": "在鼠标停止移动后将恢复。",
75
+ "openCameraSettings.errors.parseKnownCameras": "无法从 localStorage 解析已知摄像头:",
76
+ "openCameraSettings.errors.sharedHeading": "无法打开摄像头设置:",
77
+ "settings.cameraSource.defaultCamera": "默认",
78
+ "settings.cameraSource.description": "选择用于头部跟踪的摄像头。",
79
+ "settings.cameraSource.description.alt1": "选择用于头部跟踪的摄像头。",
80
+ "settings.cameraSource.label": "摄像头来源",
81
+ "settings.cameraSource.numberedCamera": "摄像头 %0",
82
+ "settings.cameraSource.unavailableCamera": "摄像头不可用",
83
+ "settings.cameraSource.unavailableCameraAdjective": "不可用",
84
+ "settings.checkForUpdates.description": "启用后,Tracky Mouse 启动时会自动检查更新。",
85
+ "settings.checkForUpdates.description.alt1": "在有新的 Tracky Mouse 版本时提醒你。",
86
+ "settings.checkForUpdates.description.alt2": "在有新的 Tracky Mouse 版本可用时通知你。",
87
+ "settings.checkForUpdates.label": "检查更新",
88
+ "settings.clickingMode.description": "选择如何执行鼠标点击。",
89
+ "settings.clickingMode.dwell.description": "将光标保持在原位一小段时间以执行点击。",
90
+ "settings.clickingMode.dwell.label": "悬停点击",
91
+ "settings.clickingMode.label": "点击模式:",
92
+ "settings.clickingMode.off.description": "禁用点击。可与外部开关或自带悬停点击功能的程序配合使用。",
93
+ "settings.clickingMode.off.label": "关闭",
94
+ "settings.clickingMode.openMouthIgnoringEyes.description": "大张嘴来点击,完全忽略眼睛状态。",
95
+ "settings.clickingMode.openMouthIgnoringEyes.label": "张嘴点击(忽略眼睛)",
96
+ "settings.clickingMode.openMouthSimple.description": "大张嘴来点击。至少有一只眼睛是睁开的才能触发点击。",
97
+ "settings.clickingMode.openMouthSimple.label": "张嘴点击(简化)",
98
+ "settings.clickingMode.openMouthWithEyeModifiers.description": "大张嘴来点击。如果左眼闭合,则为右键单击;如果右眼闭合,则为中键单击。",
99
+ "settings.clickingMode.openMouthWithEyeModifiers.label": "张嘴点击(带眼睛修饰)",
100
+ "settings.clickingMode.wink.description": "闭上一只眼来点击。左眼闭合为左键点击,右眼闭合为右键点击。",
101
+ "settings.clickingMode.wink.label": "眨眼点击",
102
+ "settings.closeEyesToToggle.description": "启用后,你可以闭上双眼几秒钟来开始或停止鼠标控制。",
103
+ "settings.closeEyesToToggle.label": "闭眼开始/停止(<span style=\"border-bottom: 1px dotted;\" title=\"• 目前没有可见或可听的反馈。\n• 暂时没有可配置的长短时间来切换开启/关闭。\n• 容易受到误判眨眼的影响,尤其是向下看时。\">实验性功能</span>)",
104
+ "settings.delayBeforeDragging.description": "在开始点击时,在设定的时长内锁定鼠标移动。\n如果你在画布上绘图,可能希望关闭该功能;如果经常在点击时不小心拖动,可以适当增加该时长。",
105
+ "settings.delayBeforeDragging.description.alt1": "在开始点击时暂时锁定鼠标移动,以防止误拖动。",
106
+ "settings.delayBeforeDragging.label": "开始拖动前的延迟",
107
+ "settings.delayBeforeDragging.sliderMax": "易于点击",
108
+ "settings.delayBeforeDragging.sliderMin": "易于拖动",
109
+ "settings.dropdownDescriptionOptionsListHeading": "选项:",
110
+ "settings.headTilt.horizontalOffset.description": "当摄像头看到你的头部正对前方时,调整鼠标指针所在的位置。\n⚠️ 不推荐使用水平偏移,如有可能,请改为移动摄像头。📷",
111
+ "settings.headTilt.horizontalOffset.description.alt1": "调整水平头部倾斜的中心位置。不推荐使用;如有可能,请改为移动摄像头。",
112
+ "settings.headTilt.horizontalOffset.description.alt2": "调整水平头部倾斜的中心位置。此水平偏移不推荐使用,如有可能,请改为移动摄像头。",
113
+ "settings.headTilt.horizontalOffset.label": "水平光标偏移",
114
+ "settings.headTilt.horizontalRange.description": "控制你需要将头向左或向右倾斜多少才能移动到屏幕边缘。",
115
+ "settings.headTilt.horizontalRange.description.alt1": "使光标从屏幕一侧移动到另一侧所需的水平头部倾斜范围。",
116
+ "settings.headTilt.horizontalRange.description.alt2": "你需要将头向左、向右倾斜多少才能移动到屏幕两侧边缘。",
117
+ "settings.headTilt.horizontalRange.description.alt3": "你需要将头向左或向右倾斜多少才能移动到屏幕边缘。",
118
+ "settings.headTilt.horizontalRange.label": "水平倾斜范围",
119
+ "settings.headTilt.range.sliderMaxLargeNeckMovement": "大量颈部动作",
120
+ "settings.headTilt.range.sliderMinLittleNeckMovement": "少量颈部动作",
121
+ "settings.headTilt.verticalOffset.description": "当摄像头看到你的头部正对前方时,调整鼠标指针所在的位置。",
122
+ "settings.headTilt.verticalOffset.description.alt1": "调整垂直头部倾斜的中心位置。",
123
+ "settings.headTilt.verticalOffset.label": "垂直光标偏移",
124
+ "settings.headTilt.verticalRange.description": "控制你需要将头向上或向下倾斜多少才能移动到屏幕边缘。",
125
+ "settings.headTilt.verticalRange.description.alt1": "使光标从屏幕顶部移动到底部所需的垂直头部倾斜范围。",
126
+ "settings.headTilt.verticalRange.description.alt2": "你需要将头向上、向下倾斜多少才能移动到屏幕上下边缘。",
127
+ "settings.headTilt.verticalRange.description.alt3": "你需要将头向上或向下倾斜多少才能移动到屏幕边缘。",
128
+ "settings.headTilt.verticalRange.label": "垂直倾斜范围",
129
+ "settings.language.description": "选择 Tracky Mouse 界面使用的语言。",
130
+ "settings.language.description.alt1": "更改 Tracky Mouse 显示使用的语言。",
131
+ "settings.language.label": "语言",
132
+ "settings.mirror.description": "水平镜像摄像头画面。",
133
+ "settings.mirror.label": "镜像",
134
+ "settings.motionThreshold.description": "每帧光标需要移动的最小距离(像素)。有助于让光标彻底停下。",
135
+ "settings.motionThreshold.description.alt1": "低于此像素距离的移动将被忽略。",
136
+ "settings.motionThreshold.description.alt2": "需要移动光标的速度(像素/帧)。",
137
+ "settings.motionThreshold.label": "运动阈值",
138
+ "settings.motionThreshold.sliderMax": "稳定",
139
+ "settings.motionThreshold.sliderMin": "自由",
140
+ "settings.openCameraSettings.description": "打开所选摄像头的系统设置对话框,以调整自动对焦、自动曝光等属性。",
141
+ "settings.openCameraSettings.description.alt1": "打开摄像头的系统设置窗口,以调整亮度、对比度等属性。",
142
+ "settings.openCameraSettings.description.alt2": "打开摄像头的系统设置窗口,以调整自动对焦、自动曝光等属性。",
143
+ "settings.openCameraSettings.label": "打开摄像头设置",
144
+ "settings.pointTracking.acceleration.description": "让头部快速移动时光标相对更快,头部缓慢移动时光标相对更慢。\n有助于稳定光标。不过,当点跟踪与头部倾斜结合使用时,较低的数值可能效果更好,因为头部倾斜是线性的,你希望点跟踪与头部跟踪大致匹配,从而起到无缝自动校准的作用。",
145
+ "settings.pointTracking.acceleration.description.alt1": "较高的加速度会让头部快速移动时鼠标更快移动,头部缓慢移动时鼠标更慢移动。",
146
+ "settings.pointTracking.acceleration.description.alt2": "让头部快速移动时光标额外加速,头部缓慢移动时光标额外减速,有助于稳定光标。",
147
+ "settings.pointTracking.acceleration.label": "加速度",
148
+ "settings.pointTracking.horizontalSensitivity.description": "针对水平头部运动时光标移动的速度。",
149
+ "settings.pointTracking.horizontalSensitivity.label": "水平灵敏度",
150
+ "settings.pointTracking.smoothing.label": "平滑度",
151
+ "settings.pointTracking.verticalSensitivity.description": "针对垂直头部运动时光标移动的速度。",
152
+ "settings.pointTracking.verticalSensitivity.label": "垂直灵敏度",
153
+ "settings.runAtLogin.description": "启用后,你登录电脑时会自动启动 Tracky Mouse。",
154
+ "settings.runAtLogin.description.alt1": "使 Tracky Mouse 在你登录电脑时自动启动。",
155
+ "settings.runAtLogin.label": "登录时运行",
156
+ "settings.sections.clicking.label": "点击",
157
+ "settings.sections.cursorMovement.label": "光标移动",
158
+ "settings.sections.general.label": "常规",
159
+ "settings.sections.headTiltCalibration.label": "头部倾斜校准",
160
+ "settings.sections.pointTracking.label": "点跟踪",
161
+ "settings.sections.video.label": "视频",
162
+ "settings.shared.directionDown": "",
163
+ "settings.shared.directionLeft": "",
164
+ "settings.shared.directionRight": "",
165
+ "settings.shared.directionUp": "",
166
+ "settings.shared.sliderMaxFast": "",
167
+ "settings.shared.sliderMaxSmooth": "平滑",
168
+ "settings.shared.sliderMinLinear": "线性",
169
+ "settings.shared.sliderMinSlow": "",
170
+ "settings.startEnabled.description": "启用后,Tracky Mouse 启动时会立刻开始控制光标。",
171
+ "settings.startEnabled.description.alt1": "使 Tracky Mouse 在启动时即处于启用状态。否则,你可以在准备好时手动启动。",
172
+ "settings.startEnabled.description.alt2": "使 Tracky Mouse 在启动后立即处于启用状态。",
173
+ "settings.startEnabled.description.alt3": "在启动 Tracky Mouse 后自动立即开始工作。",
174
+ "settings.startEnabled.label": "启动时启用",
175
+ "settings.swapMouseButtons.description": "交换鼠标左右键。\n如果你的系统已经交换了鼠标左右键,这会很有用。\n在需要时也可用悬停点击器来实现右键点击。",
176
+ "settings.swapMouseButtons.label": "交换鼠标按钮",
177
+ "settings.tiltInfluence.description": "在点跟踪(2D)和检测到的头部倾斜(3D)之间进行融合。\n- 设为 0% 时,仅使用点跟踪。鼠标根据摄像头视野中你脸部 2D 特征点的可见位移来移动,因此会对头部的旋转和平移都有响应。\n- 设为 100% 时,仅使用头部倾斜。它使用你面部在三维空间中的朝向估计,忽略头部的平移。注意这里进行了平滑处理,所以响应不会像点跟踪那样迅速。在此模式下,你无需通过把鼠标推到屏幕边缘来重新归中。\n- 介于两者之间时,它会像自动校准一样工作,轻微调整点跟踪以匹配头部倾斜。对于偏离根据头部倾斜所预期位置的鼠标移动,会减慢其速度,并且(只有当滑块超过 80% 时)会主动向预期位置移动。",
178
+ "settings.tiltInfluence.description.alt1": "决定光标移动是基于三维头部倾斜,还是基于摄像头画面中脸部的二维运动。",
179
+ "settings.tiltInfluence.label": "倾斜影响程度",
180
+ "settings.tiltInfluence.sliderMax": "头部倾斜(3D)",
181
+ "settings.tiltInfluence.sliderMax.alt1": "头部倾斜",
182
+ "settings.tiltInfluence.sliderMin": "点跟踪(2D)",
183
+ "settings.tiltInfluence.sliderMin.alt1": "光流",
184
+ "settings.tiltInfluence.sliderMin.alt2": "点跟踪",
185
+ "ui.camera.allowAccess": "允许访问摄像头",
186
+ "ui.camera.useDemoFootage": "使用示例视频",
187
+ "ui.camera.useMyCamera": "使用我的摄像头",
188
+ "ui.desktopAppPromo.message": "你可以使用 <a href=\"https://trackymouse.js.org/\">TrackyMouse</a> 桌面应用来控制整台电脑。",
189
+ "ui.startStopButton.start": "开始",
190
+ "ui.startStopButton.stop": "停止",
191
+ "video.errors.accessFailed": "访问摄像头时出现问题。",
192
+ "video.errors.accessFailedRetry": "访问摄像头时出现问题。请重试。",
193
+ "video.errors.cameraInUse": "网络摄像头已被占用。请确认没有其他程序正在使用摄像头。",
194
+ "video.errors.noCameraFound": "未找到摄像头。请确认已连接并启用了摄像头。",
195
+ "video.errors.permissionDenied": "权限被拒绝。请启用对摄像头的访问。",
196
+ "video.errors.previouslySelectedUnavailable": "之前选择的摄像头不可用。请在“视频 > 摄像头来源”中先选择“默认”,如有需要再选择具体的摄像头。",
197
+ "video.errors.retryAfterClosingOtherPrograms": "请确认没有其他程序正在使用摄像头,然后重试。",
198
+ "video.errors.unsupportedResolution": "网络摄像头不支持所需的分辨率。请更改设置。"
199
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tracky-mouse",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "Add facial mouse accessibility to JavaScript applications",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -49,6 +49,7 @@
49
49
  "tracky-mouse.js",
50
50
  "tracky-mouse.css",
51
51
  "locales/",
52
+ "images/",
52
53
  "lib/"
53
54
  ],
54
55
  "devDependencies": {
package/tracky-mouse.css CHANGED
@@ -1,12 +1,36 @@
1
1
  .tracky-mouse-pointer {
2
2
  z-index: 900000;
3
3
  pointer-events: none;
4
- border-radius: 50%;
5
- background-color: red;
6
- width: 20px;
7
- height: 20px;
4
+ /* background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath style='opacity:1;fill:%23ff0;stroke:%23000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stop-color:%23000' d='M5 1v29l6-6 5 7 6-3-4-6h10z'/%3E%3Cpath style='opacity:1;fill:none;stroke:%23000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stop-color:%23000' d='M5 18.978C13.157 22.5 17 16 17 16'/%3E%3Ccircle style='opacity:1;fill:%23000;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stop-color:%23000' cx='8.356' cy='13.886' r='1.726'/%3E%3Ccircle style='fill:%23000;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stop-color:%23000' cx='12.984' cy='13.836' r='1.872'/%3E%3C/svg%3E"); */
5
+ background-color: #000000;
6
+ clip-path: path('M4.5957 0.0859A1.0001 1.0001 0 0 0 4 1v29a1.0001 1.0001 0 0 0 1.707 0.707l5.1641 -5.1641l4.3145 6.0391a1.0001 1.0001 0 0 0 1.2617 0.3125l6 -3a1.0001 1.0001 0 0 0 0.3848 -1.4492L19.8691 23H28a1.0001 1.0001 0 0 0 0.6738 -1.7383L5.6738 0.2617A1.0001 1.0001 0 0 0 4.5957 0.0859Z');
7
+ width: 32px;
8
+ height: 32px;
8
9
  position: fixed;
9
- transform: translate(-50%, -50%);
10
+ transform: translate(-12.5%, -0%);
11
+ }
12
+
13
+ .tracky-mouse-pointer::after {
14
+ content: "";
15
+ position: absolute;
16
+ inset: 0;
17
+ /* mouth */
18
+ background-color: #000000;
19
+ clip-path: path('M17.5098 15.1387a1 1 0 0 0 -1.3711 0.3516c0 0 -0.8368 1.4099 -2.5937 2.4609c-1.7569 1.0511 -4.328 1.759 -8.1484 0.1094a1 1 0 0 0 -1.3145 0.5215a1 1 0 0 0 0.5215 1.3145c4.3365 1.8724 7.7649 1.0899 9.9688 -0.2285c2.2038 -1.3184 3.2891 -3.1582 3.2891 -3.1582a1 1 0 0 0 -0.3516 -1.3711z');
20
+ }
21
+
22
+ .tracky-mouse-pointer::before {
23
+ content: "";
24
+ position: absolute;
25
+ inset: 0;
26
+ /* reverse border (fill as defined by border) */
27
+ background-color: #ffff00;
28
+ clip-path: path('M6 3.2656L25.4219 21H18a1.0001 1.0001 0 0 0 -0.832 1.5547l3.3711 5.0566l-4.2227 2.1113l-4.502 -6.3047a1.0001 1.0001 0 0 0 -1.5215 -0.125L6 27.5859Z');
29
+ /* eyes */
30
+ background-image:
31
+ radial-gradient(ellipse 5.849111875% 5.849111875% at 40.576240625% 43.238415625%, #000000 80%, transparent 100%),
32
+ radial-gradient(ellipse 5.3928859375% 5.3928859375% at 26.113536874999998% 43.3944%, #000000 80%, transparent 100%);
33
+ background-repeat: no-repeat;
10
34
  }
11
35
 
12
36
  .tracky-mouse-dwell-indicator {
@@ -109,6 +133,7 @@
109
133
  .tracky-mouse-ui .tracky-mouse-label-text {
110
134
  display: inline-block;
111
135
  min-width: 150px;
136
+ margin-inline-end: 10px;
112
137
  }
113
138
 
114
139
  .tracky-mouse-ui .tracky-mouse-labeled-slider {
@@ -188,10 +213,51 @@
188
213
  text-align: center;
189
214
  color: white;
190
215
  padding: 5px;
216
+ animation: tracky-mouse-jello-vertical 1s ease 0s 1 normal none;
217
+ }
218
+
219
+ @keyframes tracky-mouse-jello-vertical {
220
+ 0% {
221
+ transform: scale3d(calc(calc(3 + 1) / 4), calc(calc(3 + 1) / 4), 1);
222
+ }
223
+
224
+ 30% {
225
+ transform: scale3d(calc(calc(3 + 0.75) / 4), calc(calc(3 + 1.25) / 4), 1);
226
+ }
227
+
228
+ 40% {
229
+ transform: scale3d(calc(calc(3 + 1.25) / 4), calc(calc(3 + 0.75) / 4), 1);
230
+ }
231
+
232
+ 50% {
233
+ transform: scale3d(calc(calc(3 + 0.85) / 4), calc(calc(3 + 1.15) / 4), 1);
234
+ }
235
+
236
+ 65% {
237
+ transform: scale3d(calc(calc(3 + 1.05) / 4), calc(calc(3 + 0.95) / 4), 1);
238
+ }
239
+
240
+ 75% {
241
+ transform: scale3d(calc(calc(3 + 0.95) / 4), calc(calc(3 + 1.05) / 4), 1);
242
+ }
243
+
244
+ 100% {
245
+ transform: scale3d(calc(calc(3 + 1) / 4), calc(calc(3 + 1) / 4), 1);
246
+ }
191
247
  }
192
248
 
193
249
  /* Screen overlay in electron app */
194
250
 
251
+ .tracky-mouse-hide-near-cursor {
252
+ position: fixed;
253
+ top: 0;
254
+ left: 0;
255
+ width: 100%;
256
+ height: 100%;
257
+ pointer-events: none;
258
+ user-select: none;
259
+ }
260
+
195
261
  #tracky-mouse-screen-overlay-message {
196
262
  color: yellow;
197
263
  position: absolute;
@@ -234,7 +300,7 @@
234
300
  right: calc(var(--height) * -1);
235
301
  }
236
302
 
237
- @keyframes tracky-mouse-screen-overlay-message-fade-out {
303
+ @keyframes tracky-mouse-fade-out {
238
304
  0% {
239
305
  opacity: 1;
240
306
  }