Skip to content

Commit bebcd35

Browse files
L-jasmineclaude
andcommitted
Add YOLO as alias for SWITCH key
- Add YOLO alias that maps to SWITCH in keymap command - Update README and Chinese docs to reflect YOLO/Switch key Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 921207c commit bebcd35

3 files changed

Lines changed: 23 additions & 15 deletions

File tree

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ Configures one key at a time. The device merges it into the existing keymap.
3838
| `MIC` | Microphone key |
3939
| `CUSTOM` | Custom key |
4040
| `ESC` | Escape key |
41-
| `GUI` | GUI key |
41+
| `NEXT` | Next key |
4242
| `BACKSPACE` | Backspace key |
43-
| `SWITCH` | Switch key |
43+
| `YOLO` / `Switch` | Yolo key |
4444
| `ACCEPT` | Accept key |
4545
| `ROTATE` | Rotate key |
4646

@@ -55,12 +55,12 @@ Maps a key to a keyboard shortcut.
5555
```bash
5656
# Single key
5757
vibekeys keymap ESC A # Map to A key
58-
vibekeys keymap GUI 1 # Map to digit 1
58+
vibekeys keymap NEXT 1 # Map to digit 1
5959

6060
# With modifiers
6161
vibekeys keymap ESC Ctrl+C # Map to Ctrl+C
6262
vibekeys keymap CUSTOM Alt+Tab # Map to Alt+Tab
63-
vibekeys keymap GUI Shift+A # Map to Shift+A
63+
vibekeys keymap NEXT Shift+A # Map to Shift+A
6464

6565
# Supported modifiers
6666
# Ctrl, Alt, Shift, Meta, Win, Cmd
@@ -122,8 +122,8 @@ vibekeys keymap MIC '"I am using Claude Code"'
122122
# ESC key → Ctrl+C interrupt
123123
vibekeys keymap ESC Ctrl+C
124124

125-
# GUI key → open command palette
126-
vibekeys keymap GUI Ctrl+Shift+P
125+
# NEXT key → open command palette
126+
vibekeys keymap NEXT Ctrl+Shift+P
127127

128128
# CUSTOM key → Alt+Tab switch window
129129
vibekeys keymap CUSTOM Alt+Tab

docs/README.zh.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ vibekeys keymap <KEY> <BINDING>
3636
| `MIC` | 麦克风键 |
3737
| `CUSTOM` | 自定义键 |
3838
| `ESC` | Escape 键 |
39-
| `GUI` | GUI|
39+
| `NEXT` | Next|
4040
| `BACKSPACE` | 退格键 |
41-
| `SWITCH` | 切换键 |
41+
| `YOLO` / `Switch` | Yolo 键 |
4242
| `ACCEPT` | 确认键 |
4343
| `ROTATE` | 旋转键 |
4444

@@ -53,12 +53,12 @@ vibekeys keymap <KEY> <BINDING>
5353
```bash
5454
# 单个按键
5555
vibekeys keymap ESC A # 映射为 A 键
56-
vibekeys keymap GUI 1 # 映射为数字 1
56+
vibekeys keymap NEXT 1 # 映射为数字 1
5757

5858
# 带修饰键的组合
5959
vibekeys keymap ESC Ctrl+C # 映射为 Ctrl+C
6060
vibekeys keymap CUSTOM Alt+Tab # 映射为 Alt+Tab
61-
vibekeys keymap GUI Shift+A # 映射为 Shift+A
61+
vibekeys keymap NEXT Shift+A # 映射为 Shift+A
6262

6363
# 支持的修饰键
6464
# Ctrl, Alt, Shift, Meta, Win, Cmd
@@ -120,8 +120,8 @@ vibekeys keymap MIC '"I am using Claude Code"'
120120
# ESC 键 → Ctrl+C 中断
121121
vibekeys keymap ESC Ctrl+C
122122

123-
# GUI 键 → 打开命令面板
124-
vibekeys keymap GUI Ctrl+Shift+P
123+
# NEXT 键 → 打开命令面板
124+
vibekeys keymap NEXT Ctrl+Shift+P
125125

126126
# CUSTOM 键 → Alt+Tab 切换窗口
127127
vibekeys keymap CUSTOM Alt+Tab

src/main.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ enum Command {
2727
},
2828
/// Configure key mapping (merged, can be done one key at a time)
2929
Keymap {
30-
/// Key name (MIC, CUSTOM, ESC, GUI, BACKSPACE, SWITCH, ACCEPT, ROTATE)
30+
/// Key name (MIC, CUSTOM, ESC, NEXT, BACKSPACE, SWITCH, ACCEPT, ROTATE)
3131
key: String,
3232
/// Key binding (e.g., "A", "Ctrl+C", Alt+Tab", "\"text\"")
3333
binding: String,
@@ -180,7 +180,7 @@ fn truncate(s: &str, max_len: usize) -> String {
180180
async fn send_keymap(key: &str, binding: &str) -> anyhow::Result<()> {
181181
let key_upper = key.to_uppercase();
182182

183-
// Validate key name
183+
// Validate key name (before alias mapping)
184184
let valid_keys = [
185185
"MIC",
186186
"CUSTOM",
@@ -190,13 +190,21 @@ async fn send_keymap(key: &str, binding: &str) -> anyhow::Result<()> {
190190
"SWITCH",
191191
"ACCEPT",
192192
"ROTATE",
193+
"YOLO", // alias for SWITCH
193194
];
194195
if !valid_keys.contains(&key_upper.as_str()) {
195196
anyhow::bail!("Invalid key name. Valid keys: {}", valid_keys.join(", "));
196197
}
197198

199+
// Map aliases to actual key names
200+
let key_mapped = match key_upper.as_str() {
201+
"YOLO" => "SWITCH".to_string(),
202+
_ => key_upper,
203+
};
204+
205+
// Use the mapped key name for the config
198206
let parsed = parse_key_binding(binding);
199-
let config = serde_json::json!({ key_upper: parsed });
207+
let config = serde_json::json!({ key_mapped: parsed });
200208
let json_str = config.to_string();
201209
info!("Sending keymap: {}", json_str);
202210

0 commit comments

Comments
 (0)