-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoneKey.lua
More file actions
187 lines (177 loc) · 7.29 KB
/
oneKey.lua
File metadata and controls
187 lines (177 loc) · 7.29 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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
local colorDebug = CreateColor(0.65, 1, 0) -- grass green
angleurOneKey = {
modifiedListening = nil,
modifierKeys = {
LSHIFT = {"LSHIFT"},
RSHIFT = {"RSHIFT"},
LALT = {"LALT"},
RALT = {"RALT"},
LCTRL = {"LCTRL"},
RCTRL = {"RCTRL"}
}
}
function Angleur_KeyGetterOnUp(self, key)
if angleurOneKey.modifiedListening == key then
angleurOneKey.modifiedListening = nil
self.disclaimer:SetText("The next key you press\nwill be set as Angleur Key")
self:SetText(AngleurConfig.angleurKey)
self:SetScript("OnKeyUp", nil)
self:SetScript("OnKeyDown", Angleur_KeyGetterModified)
self:SetScript("OnMouseWheel", Angleur_KeyGetterWheel)
self:SetScript("OnMouseDown", Angleur_KeyGetterMouse)
self:SetScript("OnGamePadButtonDown", Angleur_KeyGetterGamePad)
end
end
local mouseButtons = {
["MiddleButton"] = "BUTTON3",
["Button4"] = "BUTTON4",
["Button5"] = "BUTTON5",
}
function Angleur_KeyGetterMouse(self, button)
if button == "LeftButton" or button =="RightButton" then
--nothing
else
local buttonName = mouseButtons[button]
if not buttonName then
print("Unregistered mouse button, please contact the addon author")
end
if angleurOneKey.modifiedListening then
AngleurConfig.angleurKey = angleurOneKey.modifiedListening .. "-" .. buttonName
AngleurConfig.angleurKeyModifier = angleurOneKey.modifiedListening
AngleurConfig.angleurKeyMain = buttonName
angleurOneKey.modifiedListening = nil
print("OneKey set to: " .. AngleurConfig.angleurKey)
else
AngleurConfig.angleurKey = buttonName
AngleurConfig.angleurKeyModifier = nil
AngleurConfig.angleurKeyMain = nil
print("OneKey set to: " .. AngleurConfig.angleurKey)
end
self.disclaimer:Hide()
self:SetSelected(false)
self.selected = false
self:SetScript("OnKeyUp", nil)
self:SetScript("OnKeyDown", nil)
self:SetScript("OnMouseWheel", nil)
self:SetScript("OnMouseDown", nil)
self:SetScript("OnGamePadButtonDown", nil)
self:SetText(AngleurConfig.angleurKey)
end
end
function Angleur_KeyGetterGamePad(self, button)
self:SetScript("OnKeyUp", nil)
self:SetScript("OnKeyDown", nil)
self:SetScript("OnMouseWheel", nil)
self:SetScript("OnMouseDown", nil)
self:SetScript("OnGamePadButtonDown", nil)
self.disclaimer:Hide()
self:SetSelected(false)
self.selected = false
AngleurConfig.angleurKey = button
AngleurConfig.angleurKeyModifier = nil
AngleurConfig.angleurKeyMain = nil
self:SetText(AngleurConfig.angleurKey)
print("OneKey set to: " .. AngleurConfig.angleurKey)
end
function Angleur_KeyGetterWheel(self, delta)
local scroll
if delta == 1 then
scroll = "MOUSEWHEELUP"
elseif delta == -1 then
scroll = "MOUSEWHEELDOWN"
end
if angleurOneKey.modifiedListening then
local colorBlu = CreateColor(0.61, 0.85, 0.92)
local colorWhite = CreateColor(1, 1, 1)
local colorGrae = CreateColor(0.5, 0.5, 0.5)
local colorYello = CreateColor(1.0, 0.82, 0.0)
AngleurConfig.angleurKey = angleurOneKey.modifiedListening .. "-" .. scroll
AngleurConfig.angleurKeyModifier = angleurOneKey.modifiedListening
AngleurConfig.angleurKeyMain = scroll
angleurOneKey.modifiedListening = nil
print("OneKey set to: " .. AngleurConfig.angleurKey)
print(colorBlu:WrapTextInColorCode("Angleur: ") .. colorYello:WrapTextInColorCode("Modifier Keys ")
.. "won't be recognized when the game is in the " .. colorGrae:WrapTextInColorCode("background. ")
.. "If you are using the scroll wheel for that purpose. Just bind the wheel alone instead, without modifiers.")
else
AngleurConfig.angleurKey = scroll
AngleurConfig.angleurKeyModifier = nil
AngleurConfig.angleurKeyMain = nil
print("OneKey set to: " .. AngleurConfig.angleurKey)
end
self.disclaimer:Hide()
self:SetSelected(false)
self.selected = false
self:SetScript("OnKeyUp", nil)
self:SetScript("OnKeyDown", nil)
self:SetScript("OnMouseWheel", nil)
self:SetScript("OnMouseDown", nil)
self:SetScript("OnGamePadButtonDown", nil)
self:SetText(AngleurConfig.angleurKey)
end
function Angleur_KeyGetterModified(self, key)
if key == "ENTER" then
elseif key == "ESCAPE" then
Angleur_KeyGetterStopWatching()
elseif angleurOneKey.modifierKeys[key] then
self:SetText(key .. "-" .. "?")
angleurOneKey.modifiedListening = key
self.disclaimer:SetText("Modifier key " .. key .. "down,\nawaiting additional key press.")
self:SetScript("OnKeyUp", Angleur_KeyGetterOnUp)
self:SetScript("OnKeyDown", Angleur_KeyGetterModified)
self:SetScript("OnMouseWheel", Angleur_KeyGetterWheel)
self:SetScript("OnMouseDown", Angleur_KeyGetterMouse)
elseif angleurOneKey.modifiedListening then
self:SetScript("OnKeyUp", nil)
self:SetScript("OnKeyDown", nil)
self:SetScript("OnMouseWheel", nil)
self:SetScript("OnMouseDown", nil)
self:SetScript("OnGamePadButtonDown", nil)
self.disclaimer:Hide()
self:SetSelected(false)
self.selected = false
AngleurConfig.angleurKey = angleurOneKey.modifiedListening .. "-" .. key
AngleurConfig.angleurKeyModifier = angleurOneKey.modifiedListening
AngleurConfig.angleurKeyMain = key
self:SetText(AngleurConfig.angleurKey)
print("OneKey set to: " .. AngleurConfig.angleurKeyMain .. ", with modifier " .. AngleurConfig.angleurKeyModifier)
angleurOneKey.modifiedListening = nil
else
self:SetScript("OnKeyUp", nil)
self:SetScript("OnKeyDown", nil)
self:SetScript("OnMouseWheel", nil)
self:SetScript("OnMouseDown", nil)
self:SetScript("OnGamePadButtonDown", nil)
self.disclaimer:Hide()
self:SetSelected(false)
self.selected = false
AngleurConfig.angleurKey = key
AngleurConfig.angleurKeyModifier = nil
AngleurConfig.angleurKeyMain = nil
self:SetText(AngleurConfig.angleurKey)
print("OneKey set to: " .. AngleurConfig.angleurKey)
end
end
function Angleur_KeyGetterStopWatching()
angleurOneKey.secondPressListening = false
angleurOneKey.modifiedListening = nil
local angleurKeyFrameHolder = Angleur.configPanel.tab1.contents.fishingMethod.oneKey.contents.angleurKey
angleurKeyFrameHolder:SetScript("OnKeyUp", nil)
angleurKeyFrameHolder:SetScript("OnKeyDown", nil)
angleurKeyFrameHolder:SetScript("OnMouseWheel", nil)
angleurKeyFrameHolder:SetScript("OnMouseDown", nil)
angleurKeyFrameHolder:SetScript("OnGamePadButtonDown", nil)
angleurKeyFrameHolder:SetText(AngleurConfig.angleurKey)
angleurKeyFrameHolder.disclaimer:Hide()
angleurKeyFrameHolder.selected = false
angleurKeyFrameHolder:SetSelected(false)
end
function Angleur_Unbind(self)
AngleurConfig.angleurKey = nil
AngleurConfig.angleurKeyModifier = nil
AngleurConfig.angleurKeyMain = nil
Angleur.visual.texture:SetTexture(nil)
ClearOverrideBindings(Angleur)
self:SetText(AngleurConfig.angleurKey)
print("OneKey removed")
end