Mercurial > wow > skeletonkey
comparison SkeletonKey/BindingsFrame.lua @ 50:1aba8a6fd4a9
- fix kb.bindings content and define a generic function for constructing its keystrings
- handle hotkey text for actions placed in multiple slots
-- hotkey.actionbar generates a cache table for use during binding changes
author | Nenue |
---|---|
date | Fri, 19 Aug 2016 01:12:56 -0400 |
parents | 9a9d7f2a7c07 |
children | 81a7c71c4483 |
comparison
equal
deleted
inserted
replaced
49:9a9d7f2a7c07 | 50:1aba8a6fd4a9 |
---|---|
58 | 58 |
59 local KeyButton_OnKeyDown = function(self, key) | 59 local KeyButton_OnKeyDown = function(self, key) |
60 kb.saveTarget.border:SetColorTexture(1,1,1,1) | 60 kb.saveTarget.border:SetColorTexture(1,1,1,1) |
61 end | 61 end |
62 local KeyButton_OnKeyUp = function(self, key) | 62 local KeyButton_OnKeyUp = function(self, key) |
63 | |
64 kb.UpdateSlot(kb.saveTarget) | 63 kb.UpdateSlot(kb.saveTarget) |
65 if key == 'ESCAPE' then | 64 if key == 'ESCAPE' then |
66 kb.DeactivateSlot(kb.saveTarget) | 65 kb.DeactivateSlot(kb.saveTarget) |
67 kb.ui() | 66 kb.ui() |
68 return | 67 return |
69 end | 68 end |
70 | |
71 if key:match('[RL]SHIFT') or key:match('[RL]ALT') or key:match('[RL]CTRL') then | 69 if key:match('[RL]SHIFT') or key:match('[RL]ALT') or key:match('[RL]CTRL') then |
72 return | 70 return |
73 elseif kb.saveTarget then | 71 elseif kb.saveTarget then |
74 | |
75 if kb.SaveSlot(kb.saveTarget, key) then | 72 if kb.SaveSlot(kb.saveTarget, key) then |
76 if not (kb.db.stickyMode or kb.db.hoverInput) then | 73 if not (kb.db.stickyMode or kb.db.hoverInput) then |
77 | |
78 kb.DeactivateSlot(kb.saveTarget) | 74 kb.DeactivateSlot(kb.saveTarget) |
79 end | 75 end |
80 kb.ui() | 76 kb.ui() |
81 end | 77 end |
82 end | 78 end |
83 | |
84 | |
85 end | 79 end |
86 | 80 |
87 local KeyButton_OnClick = function(self, click) | 81 local KeyButton_OnClick = function(self, click) |
88 print(self:GetName(), 'OnMouseDown', click) | 82 print(self:GetName(), 'OnMouseDown', click) |
89 local cursorType = GetCursorInfo() | 83 local cursorType = GetCursorInfo() |
94 if self.command and self.isAvailable then | 88 if self.command and self.isAvailable then |
95 if IsShiftKeyDown() then | 89 if IsShiftKeyDown() then |
96 kb.db.stickyMode = true | 90 kb.db.stickyMode = true |
97 KeyBinderStickyMode:SetChecked(true) | 91 KeyBinderStickyMode:SetChecked(true) |
98 end | 92 end |
99 | |
100 kb.ActivateSlot(self) | 93 kb.ActivateSlot(self) |
101 kb.ui() | 94 kb.ui() |
102 end | 95 end |
103 | |
104 end | 96 end |
105 elseif click == 'RightButton' then | 97 elseif click == 'RightButton' then |
106 kb.ReleaseSlot(self) | 98 kb.ReleaseSlot(self) |
107 kb.ui() | 99 kb.ui() |
108 elseif kb.saveTarget then | 100 elseif kb.saveTarget then |
109 | |
110 if kb.SaveSlot(kb.saveTarget, string.upper(click)) then | 101 if kb.SaveSlot(kb.saveTarget, string.upper(click)) then |
111 if not (kb.db.stickyMode or kb.db.hoverInput) then | 102 if not (kb.db.stickyMode or kb.db.hoverInput) then |
112 | |
113 kb.DeactivateSlot(kb.saveTarget) | 103 kb.DeactivateSlot(kb.saveTarget) |
114 end | 104 end |
115 kb.ui() | 105 kb.ui() |
116 end | 106 end |
117 end | 107 end |