-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdefault_config.py
More file actions
143 lines (125 loc) · 4.13 KB
/
default_config.py
File metadata and controls
143 lines (125 loc) · 4.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# default_config.py
"""
硬编码的默认配置管理类
减少外部文件依赖,提高配置可靠性
"""
class DefaultConfig:
"""
KeyMouse 默认配置管理类
所有默认配置都硬编码在这里,避免外部文件依赖
"""
# 默认键位映射
DEFAULT_KEYBINDINGS = {
"move_up": "i",
"move_down": "k",
"move_left": "j",
"move_right": "l",
"scroll_up": "comma",
"scroll_down": "m",
"left_click": "semicolon",
"right_click": "apostrophe",
"middle_click": "rshift",
"sticky_left_click": "n",
"toggle_mode_internal": "q",
"enter_region_select_mode": "f",
"toggle_mode_hotkey": "<alt>+a",
"exit_program": "esc",
"command_mode_toggle": "h"
}
# 默认设置参数
DEFAULT_SETTINGS = {
"mouse_move_speed": 16,
"mouse_speed_shift_multiplier": 0.5,
"mouse_speed_capslock_multiplier": 0.2,
"delay_per_step": 0.010,
"run_as_admin": True,
"temp_data_dir": "temp_data"
}
# 默认平滑滚动参数
DEFAULT_SMOOTH_SCROLLING = {
"initial_velocity": 150.0,
"max_velocity": 1500.0,
"acceleration": 700.0
}
# 默认日志配置
DEFAULT_LOGGING = {
"log_level": "DEBUG",
"log_format": "%(asctime)s - [%(levelname)s] - %(message)s",
"log_file_path": "logs/main.log",
"log_max_size": 10485760,
"log_backup_count": 5,
"error_log_file": "logs/error.log"
}
# 默认区域选择布局
DEFAULT_REGION_SELECT_LAYOUT = {
"row1": "1 2 3 4 5",
"row2": "6 7 8 9 0",
"row3": "w e r t y",
"row4": "z x c v b"
}
# 默认命令模式宏
DEFAULT_COMMAND_MODE_MACROS = {
"c": "SEND_KEYS:<ctrl>+c",
"v": "SEND_KEYS:<ctrl>+v",
"x": "SEND_KEYS:<ctrl>+x",
"s": "SEND_KEYS:<ctrl>+s",
"a": "SEND_KEYS:<ctrl>+a",
"z": "SEND_KEYS:<ctrl>+z",
"t": "SEND_KEYS:<f11>",
"w": "SEND_KEYS:<alt>+<f4>"
}
# 默认命令模式宏注释
DEFAULT_COMMAND_MODE_MACROS_NOTES = {
"c": "复制 (Ctrl+C)",
"v": "粘贴 (Ctrl+V)",
"x": "剪切 (Ctrl+X)",
"s": "保存 (Ctrl+S)",
"a": "全选 (Ctrl+A)",
"z": "撤销 (Ctrl+Z)",
"t": "切换全屏",
"w": "关闭窗口 (Alt+F4)"
}
@classmethod
def get_default_keybindings(cls):
"""获取默认键位映射"""
return cls.DEFAULT_KEYBINDINGS.copy()
@classmethod
def get_all_defaults(cls):
"""获取完整的默认配置字典,匹配GUI架构期望的数据格式"""
return {
'key_mappings': cls.DEFAULT_KEYBINDINGS.copy(),
'settings': {
**cls.DEFAULT_SETTINGS,
**cls.DEFAULT_SMOOTH_SCROLLING,
**cls.DEFAULT_LOGGING
}
}
@classmethod
def get_default_config_ini_content(cls):
"""
生成完整的默认 config.ini 内容
用于完全重置配置文件
"""
content = "[Keybindings]\n"
for key, value in cls.DEFAULT_KEYBINDINGS.items():
content += f"{key} = {value}\n"
content += "\n[Settings]\n"
for key, value in cls.DEFAULT_SETTINGS.items():
content += f"{key} = {value}\n"
content += "\n[SmoothScrolling]\n"
for key, value in cls.DEFAULT_SMOOTH_SCROLLING.items():
content += f"{key} = {value}\n"
content += "\n[Logging]\n"
for key, value in cls.DEFAULT_LOGGING.items():
content += f"{key} = {value}\n"
content += "\n[RegionSelectLayout]\n"
for key, value in cls.DEFAULT_REGION_SELECT_LAYOUT.items():
content += f"{key} = {value}\n"
content += "\n[CommandModeMacros]\n"
for key, value in cls.DEFAULT_COMMAND_MODE_MACROS.items():
content += f"{key} = {value}\n"
content += "\n[CommandModeMacrosNotes]\n"
for key, value in cls.DEFAULT_COMMAND_MODE_MACROS_NOTES.items():
content += f"{key} = {value}\n"
content += "\n"
return content