-
Notifications
You must be signed in to change notification settings - Fork 0
/
karabiner_generate.py
135 lines (130 loc) · 3.5 KB
/
karabiner_generate.py
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
from string import Template
key_map = Template("""{
"conditions": [
{
"name": "$mode-mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "$_from",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "$to",
"modifiers": [
$to_mod
]
}
],
"type": "basic"
},
{
"from": {
"simultaneous": [
{
"key_code": "$mode"
},
{
"key_code": "$_from"
}
],
"simultaneous_options": {
"detect_key_down_uninterruptedly": true,
"key_down_order": "strict",
"key_up_order": "strict_inverse",
"key_up_when": "any",
"to_after_key_up": [
{
"set_variable": {
"name": "$mode-mode",
"value": 0
}
}
]
}
},
"to": [
{
"set_variable": {
"name": "$mode-mode",
"value": 1
}
},
{
"key_code": "$to",
"modifiers": [
$to_mod
]
}
],
"type": "basic"
},
""")
# result = "["
# result += key_map.substitute(
# mode="s", _from="y", to="grave_accent_and_tilde", to_mod=""
# )
# result += key_map.substitute(mode="s", _from="u", to="2", to_mod='"left_shift"')
# result += key_map.substitute(mode="s", _from="i", to="3", to_mod='"left_shift"')
# result += key_map.substitute(mode="s", _from="o", to="4", to_mod='"left_shift"')
# result += key_map.substitute(mode="s", _from="p", to="5", to_mod='"left_shift"')
# result += key_map.substitute(
# mode="s", _from="h", to="grave_accent_and_tilde", to_mod='"left_shift"'
# )
# result += key_map.substitute(mode="s", _from="j", to="hyphen", to_mod="")
# result += key_map.substitute(mode="s", _from="k", to="hyphen", to_mod='"left_shift"')
# result += key_map.substitute(mode="s", _from="l", to="equal_sign", to_mod="")
# result += key_map.substitute(
# mode="s", _from="semicolon", to="equal_sign", to_mod='"left_shift"'
# )
# result += key_map.substitute(mode="s", _from="m", to="1", to_mod='"left_shift"')
# result += key_map.substitute(mode="s", _from="comma", to="7", to_mod='"left_shift"')
# result += key_map.substitute(mode="s", _from="period", to="8", to_mod='"left_shift"')
# result += key_map.substitute(
# mode="s", _from="slash", to="non_us_backslash", to_mod='"left_shift"'
# )
# result = result[: len(result) - 2]
# result += "]"
# print(result)
#
#
# print("f mode")
#
#
# result = "["
# result += key_map.substitute(
# mode="f", _from="u", to="open_bracket", to_mod='"left_shift"'
# )
# result += key_map.substitute(
# mode="f", _from="i", to="close_bracket", to_mod='"left_shift"'
# )
# result += key_map.substitute(mode="f", _from="j", to="9", to_mod='"left_shift"')
# result += key_map.substitute(mode="f", _from="k", to="0", to_mod='"left_shift"')
# result += key_map.substitute(mode="f", _from="l", to="comma", to_mod='"left_shift"')
# result += key_map.substitute(
# mode="f", _from="semicolon", to="period", to_mod='"left_shift"'
# )
# result += key_map.substitute(mode="f", _from="m", to="comma", to_mod='"left_shift"')
# result += key_map.substitute(
# mode="f", _from="comma", to="period", to_mod='"left_shift"'
# )
# result = result[: len(result) - 2]
# result += "]"
# print(result)
print("a mode")
result = ""
result += key_map.substitute(
mode="a", _from="m", to="left_arrow", to_mod='"left_option"'
)
result += key_map.substitute(
mode="a", _from="comma", to="right_arrow", to_mod='"left_option"'
)
result = result[: len(result) - 2]
print(result)