Compare commits

..

4 commits
master ... 1.12

Author SHA1 Message Date
Imbus
ea094ff075 Default toxc 2024-03-10 18:00:12 +01:00
Imbus
a1a80c4035 remove namespace 2024-03-10 16:37:24 +01:00
Imbus
662814e302 idk2 2024-03-10 16:33:22 +01:00
Imbus
8bd61fe0bd Idk 2024-03-10 16:33:12 +01:00
7 changed files with 182 additions and 207 deletions

1
.gitignore vendored
View file

@ -1 +0,0 @@
wow-api-type-definitions

View file

@ -1,18 +0,0 @@
{
"diagnostics.globals": [
"arg",
"arg1",
"arg2",
"arg3",
"arg4",
"arg5",
"arg6",
"arg7",
"arg8",
"arg9",
"event"
],
"runtime.version": "Lua 5.1",
"type.inferParamType": true,
"workspace.library": ["wow-api-type-definitions"]
}

View file

@ -1,6 +0,0 @@
column_width = 160
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2
quote_style = "AutoPreferSingle"
call_parentheses = "None"

View file

@ -1,155 +1,205 @@
local _, u = ... -- local _, u = ...
-- Hex formatted as "AARRGGBB"
local COLOR = {
blue = "FF" .. "0000FF",
green = "FF" .. "00FF00",
red = "FF" .. "FF0000",
legendary = "FF" .. "A335EE",
heirloom = "FF" .. "E6CC80",
warning = "FF" .. "EED202",
}
-- Wrap the text in a color code
local function colorWrap(text, colorCode)
return "|c" .. colorCode .. text .. "|r"
end
-- Special case of the color function
local function prefix()
return colorWrap("ImbusBinds> ", COLOR.legendary)
end
-- Special print
local function bprint(msg)
print(prefix() .. msg)
end
-- Prints some separators
function guards()
local accum = ""
for _ = 1, 30 do
accum = accum .. "="
end
print(colorWrap(accum, COLOR.legendary))
end
function info(msg)
bprint(colorWrap(msg, COLOR.heirloom))
end
function warn(msg)
bprint(colorWrap(msg, COLOR.warning))
end
function error(msg)
bprint(colorWrap(msg, COLOR.red))
end
function success(msg)
bprint(colorWrap(msg, COLOR.green))
end
-- https://wowpedia.fandom.com/wiki/BindingID -- https://wowpedia.fandom.com/wiki/BindingID
local myBinds = { local myBinds = {
-- Movement -- Movement
['A'] = 'STRAFELEFT', ["A"] = "STRAFELEFT",
['D'] = 'STRAFERIGHT', ["D"] = "STRAFERIGHT",
-- Character and bag toggles, since c and b are used for strafing -- Character and bag toggles, since c and b are used for strafing
['F1'] = 'OPENALLBAGS', ["F1"] = "OPENALLBAGS",
['F2'] = 'TOGGLECHARACTER0', ["F2"] = "TOGGLECHARACTER0",
-- Action Bar 1 -- Action Bar 1
['1'] = 'ACTIONBUTTON1', ["1"] = "ACTIONBUTTON1",
['2'] = 'ACTIONBUTTON2', ["2"] = "ACTIONBUTTON2",
['3'] = 'ACTIONBUTTON3', ["3"] = "ACTIONBUTTON3",
['4'] = 'ACTIONBUTTON4', ["4"] = "ACTIONBUTTON4",
['5'] = 'ACTIONBUTTON5', ["5"] = "ACTIONBUTTON5",
['6'] = 'ACTIONBUTTON6', ["6"] = "ACTIONBUTTON6",
['SHIFT-1'] = 'ACTIONBUTTON7', ["SHIFT-1"] = "ACTIONBUTTON7",
['SHIFT-2'] = 'ACTIONBUTTON8', ["SHIFT-2"] = "ACTIONBUTTON8",
['SHIFT-3'] = 'ACTIONBUTTON9', ["SHIFT-3"] = "ACTIONBUTTON9",
['SHIFT-4'] = 'ACTIONBUTTON10', ["SHIFT-4"] = "ACTIONBUTTON10",
['SHIFT-5'] = 'ACTIONBUTTON11', ["SHIFT-5"] = "ACTIONBUTTON11",
['SHIFT-6'] = 'ACTIONBUTTON12', ["SHIFT-6"] = "ACTIONBUTTON12",
-- Action Bar 2 -- Action Bar 2
['BUTTON5'] = 'MULTIACTIONBAR1BUTTON1', ["BUTTON5"] = "MULTIACTIONBAR1BUTTON1",
['BUTTON4'] = 'MULTIACTIONBAR1BUTTON2', ["BUTTON4"] = "MULTIACTIONBAR1BUTTON2",
['SHIFT-BUTTON5'] = 'MULTIACTIONBAR1BUTTON3', ["SHIFT-BUTTON5"] = "MULTIACTIONBAR1BUTTON3",
['SHIFT-BUTTON4'] = 'MULTIACTIONBAR1BUTTON4', ["SHIFT-BUTTON4"] = "MULTIACTIONBAR1BUTTON4",
['CTRL-BUTTON5'] = 'MULTIACTIONBAR1BUTTON5', ["CTRL-BUTTON5"] = "MULTIACTIONBAR1BUTTON5",
['CTRL-BUTTON4'] = 'MULTIACTIONBAR1BUTTON6', ["CTRL-BUTTON4"] = "MULTIACTIONBAR1BUTTON6",
['BUTTON3'] = 'MULTIACTIONBAR1BUTTON7', ["BUTTON3"] = "MULTIACTIONBAR1BUTTON7",
['SHIFT-BUTTON3'] = 'MULTIACTIONBAR1BUTTON8', ["SHIFT-BUTTON3"] = "MULTIACTIONBAR1BUTTON8",
['CTRL-BUTTON3'] = 'MULTIACTIONBAR1BUTTON9', ["CTRL-BUTTON3"] = "MULTIACTIONBAR1BUTTON9",
['§'] = 'MULTIACTIONBAR1BUTTON10', ["§"] = "MULTIACTIONBAR1BUTTON10",
['SHIFT-§'] = 'MULTIACTIONBAR1BUTTON11', ["SHIFT-§"] = "MULTIACTIONBAR1BUTTON11",
['CTRL-§'] = 'MULTIACTIONBAR1BUTTON12', ["CTRL-§"] = "MULTIACTIONBAR1BUTTON12",
-- Action Bar 3 -- Action Bar 3
['Q'] = 'MULTIACTIONBAR2BUTTON1', ["Q"] = "MULTIACTIONBAR2BUTTON1",
['E'] = 'MULTIACTIONBAR2BUTTON2', ["E"] = "MULTIACTIONBAR2BUTTON2",
['R'] = 'MULTIACTIONBAR2BUTTON3', ["R"] = "MULTIACTIONBAR2BUTTON3",
['T'] = 'MULTIACTIONBAR2BUTTON4', ["T"] = "MULTIACTIONBAR2BUTTON4",
['F'] = 'MULTIACTIONBAR2BUTTON5', ["F"] = "MULTIACTIONBAR2BUTTON5",
['G'] = 'MULTIACTIONBAR2BUTTON6', ["G"] = "MULTIACTIONBAR2BUTTON6",
['SHIFT-Q'] = 'MULTIACTIONBAR2BUTTON7', ["SHIFT-Q"] = "MULTIACTIONBAR2BUTTON7",
['SHIFT-E'] = 'MULTIACTIONBAR2BUTTON8', ["SHIFT-E"] = "MULTIACTIONBAR2BUTTON8",
['SHIFT-R'] = 'MULTIACTIONBAR2BUTTON9', ["SHIFT-R"] = "MULTIACTIONBAR2BUTTON9",
['SHIFT-T'] = 'MULTIACTIONBAR2BUTTON10', ["SHIFT-T"] = "MULTIACTIONBAR2BUTTON10",
['SHIFT-F'] = 'MULTIACTIONBAR2BUTTON11', ["SHIFT-F"] = "MULTIACTIONBAR2BUTTON11",
['SHIFT-G'] = 'MULTIACTIONBAR2BUTTON12', ["SHIFT-G"] = "MULTIACTIONBAR2BUTTON12",
-- Action Bar 4 -- Action Bar 4
['S'] = 'MULTIACTIONBAR3BUTTON1', ["S"] = "MULTIACTIONBAR3BUTTON1",
['Z'] = 'MULTIACTIONBAR3BUTTON2', ["Z"] = "MULTIACTIONBAR3BUTTON2",
['X'] = 'MULTIACTIONBAR3BUTTON3', ["X"] = "MULTIACTIONBAR3BUTTON3",
['C'] = 'MULTIACTIONBAR3BUTTON4', ["C"] = "MULTIACTIONBAR3BUTTON4",
['V'] = 'MULTIACTIONBAR3BUTTON5', ["V"] = "MULTIACTIONBAR3BUTTON5",
['B'] = 'MULTIACTIONBAR3BUTTON6', ["B"] = "MULTIACTIONBAR3BUTTON6",
['SHIFT-S'] = 'MULTIACTIONBAR3BUTTON7', ["SHIFT-S"] = "MULTIACTIONBAR3BUTTON7",
['SHIFT-Z'] = 'MULTIACTIONBAR3BUTTON8', ["SHIFT-Z"] = "MULTIACTIONBAR3BUTTON8",
['SHIFT-X'] = 'MULTIACTIONBAR3BUTTON9', ["SHIFT-X"] = "MULTIACTIONBAR3BUTTON9",
['SHIFT-C'] = 'MULTIACTIONBAR3BUTTON10', ["SHIFT-C"] = "MULTIACTIONBAR3BUTTON10",
['SHIFT-V'] = 'MULTIACTIONBAR3BUTTON11', ["SHIFT-V"] = "MULTIACTIONBAR3BUTTON11",
['SHIFT-B'] = 'MULTIACTIONBAR3BUTTON12', ["SHIFT-B"] = "MULTIACTIONBAR3BUTTON12",
-- Action Bar 5 -- Action Bar 5
['CTRL-Q'] = 'MULTIACTIONBAR4BUTTON1', ["CTRL-Q"] = "MULTIACTIONBAR4BUTTON1",
['CTRL-E'] = 'MULTIACTIONBAR4BUTTON2', ["CTRL-E"] = "MULTIACTIONBAR4BUTTON2",
['CTRL-R'] = 'MULTIACTIONBAR4BUTTON3', ["CTRL-R"] = "MULTIACTIONBAR4BUTTON3",
['CTRL-T'] = 'MULTIACTIONBAR4BUTTON4', ["CTRL-T"] = "MULTIACTIONBAR4BUTTON4",
['CTRL-F'] = 'MULTIACTIONBAR4BUTTON5', ["CTRL-F"] = "MULTIACTIONBAR4BUTTON5",
['CTRL-G'] = 'MULTIACTIONBAR4BUTTON6', ["CTRL-G"] = "MULTIACTIONBAR4BUTTON6",
['CTRL-1'] = 'MULTIACTIONBAR4BUTTON7', ["CTRL-1"] = "MULTIACTIONBAR4BUTTON7",
['CTRL-2'] = 'MULTIACTIONBAR4BUTTON8', ["CTRL-2"] = "MULTIACTIONBAR4BUTTON8",
['CTRL-3'] = 'MULTIACTIONBAR4BUTTON9', ["CTRL-3"] = "MULTIACTIONBAR4BUTTON9",
['CTRL-4'] = 'MULTIACTIONBAR4BUTTON10', ["CTRL-4"] = "MULTIACTIONBAR4BUTTON10",
['CTRL-5'] = 'MULTIACTIONBAR4BUTTON11', ["CTRL-5"] = "MULTIACTIONBAR4BUTTON11",
['CTRL-6'] = 'MULTIACTIONBAR4BUTTON12', ["CTRL-6"] = "MULTIACTIONBAR4BUTTON12",
} }
local cameraBinds = { local cameraBinds = {
-- Remove zoom from mousewheel -- Remove zoom from mousewheel
['-'] = 'CAMERAZOOMOUT', ["-"] = "CAMERAZOOMOUT",
['+'] = 'CAMERAZOOMIN', ["+"] = "CAMERAZOOMIN",
['MOUSEWHEELUP'] = 'STARTAUTORUN', ["MOUSEWHEELUP"] = "STARTAUTORUN",
['MOUSEWHEELDOWN'] = 'FOLLOWTARGET', ["MOUSEWHEELDOWN"] = "FOLLOWTARGET",
} }
-- Unsets a binding, if it exists -- Unsets a binding, if it exists
local function unsetBinding(action) local function unsetBinding(action)
local key1, key2 = GetBindingKey(action) local key1, key2 = GetBindingKey(action);
if key1 then if key1 then
SetBinding(key1, nil) SetBinding(key1, nil);
end end
if key2 then if key2 then
SetBinding(key2, nil) SetBinding(key2, nil);
end end
end end
-- Same as SetBinding, but removes the old binding first -- Same as SetBinding, but removes the old binding first
local function setBindingRM(key, action) local function setBindingRM(key, action)
unsetBinding(action) unsetBinding(action);
if SetBinding(key, action) then if SetBinding(key, action) then
u.success(key .. ' -> ' .. action) success(key .. " -> " .. action);
else else
u.error('Failed to set binding ' .. key .. ' to ' .. action) error("Failed to set binding " .. key .. " to " .. action);
end end
end end
local function applyBindingSet(set) local function applyBindingSet(set)
for key, action in pairs(set) do for key, action in pairs(set) do
setBindingRM(key, action) setBindingRM(key, action)
end end
u.info 'Bindings set!' info("Bindings set!")
u.warn 'Dont forget to reload your UI.' warn("Dont forget to reload your UI.")
end end
local function enableBars() local function enableBars()
SetActionBarToggles(1, 1, 1, 1) SetActionBarToggles(1, 1, 1, 1);
SHOW_MULTI_ACTIONBAR_1 = 1 --Bottom Left Bar SHOW_MULTI_ACTIONBAR_1 = 1 --Bottom Left Bar
SHOW_MULTI_ACTIONBAR_2 = 1 --Bottom Right Bar SHOW_MULTI_ACTIONBAR_2 = 1 --Bottom Right Bar
SHOW_MULTI_ACTIONBAR_3 = 1 --Right Bar SHOW_MULTI_ACTIONBAR_3 = 1 --Right Bar
SHOW_MULTI_ACTIONBAR_4 = 1 --Right Bar 2 SHOW_MULTI_ACTIONBAR_4 = 1 --Right Bar 2
MultiActionBar_Update() MultiActionBar_Update();
SetCVar('alwaysShowActionBars', 1) SetCVar("alwaysShowActionBars", 1);
SetCVar('lockActionBars', 1) SetCVar("lockActionBars", 1);
SetCVar('countdownForCooldowns', 1) SetCVar("countdownForCooldowns", 1);
SetCVar('cameraDistanceMaxZoomFactor', 2) SetCVar("cameraDistanceMaxZoomFactor", 2);
SetCVar('instantQuestText', 1) SetCVar("instantQuestText", 1);
SetCVar('nameplateShowAll', 1) SetCVar("nameplateShowAll", 1);
SetCVar('nameplateShowEnemies', 1) SetCVar("nameplateShowEnemies", 1);
SetCVar('nameplateMaxDistance', 35) SetCVar("nameplateMaxDistance", 35);
SetCVar('enableFloatingCombatText', 1) SetCVar("enableFloatingCombatText", 1);
end end
local function BindsHandler(msg, editbox) local function BindsHandler(msg, editbox)
u.guards() guards()
if msg == '' then if msg == "" then
applyBindingSet(myBinds) applyBindingSet(myBinds)
enableBars() enableBars()
end end
if msg == 'camera' then if msg == "camera" then
applyBindingSet(cameraBinds) applyBindingSet(cameraBinds)
end end
SaveBindings(1) SaveBindings(1)
u.guards() guards()
end end
-- Register the /hello command -- Register the /hello command
SLASH_BINDS1 = '/binds' SLASH_BINDS1 = "/binds"
SlashCmdList['BINDS'] = BindsHandler SlashCmdList["BINDS"] = BindsHandler

10
ImbusBinds.toc Normal file
View file

@ -0,0 +1,10 @@
## Interface: 11200
## Title: ImbusBinds
## Author: Imbus
## Version: 0.1.2
## Notes: Simple addon for a sane default keybind setup
## URL: https://git.silversoft.se/Imbus/ImbusBinds
## IconTexture: Interface\Icons\Inv_qiraj_jewelglyphed
Util.lua
ImbusBinds.lua

View file

@ -1,9 +0,0 @@
# Default keybinds
See [wow-api-type-definitions](https://github.com/SabineWren/wow-api-type-definitions)
## For LSP symbols:
Clone inside this repo:
`git clone git@github.com:SabineWren/wow-api-type-definitions.git`

View file

@ -1,51 +0,0 @@
local _, u = ...
-- Hex formatted as "AARRGGBB"
local COLOR = {
blue = 'FF' .. '0000FF',
green = 'FF' .. '00FF00',
red = 'FF' .. 'FF0000',
legendary = 'FF' .. 'A335EE',
heirloom = 'FF' .. 'E6CC80',
warning = 'FF' .. 'EED202',
}
-- Wrap the text in a color code
local function colorWrap(text, colorCode)
return '|c' .. colorCode .. text .. '|r'
end
-- Special case of the color function
local function prefix()
return colorWrap('ImbusBinds> ', COLOR.legendary)
end
-- Special print
local function bprint(msg)
print(prefix() .. msg)
end
-- Prints some separators
function u.guards()
local accum = ''
for _ = 1, 30 do
accum = accum .. '='
end
print(colorWrap(accum, COLOR.legendary))
end
function u.info(msg)
bprint(colorWrap(msg, COLOR.heirloom))
end
function u.warn(msg)
bprint(colorWrap(msg, COLOR.warning))
end
function u.error(msg)
bprint(colorWrap(msg, COLOR.red))
end
function u.success(msg)
bprint(colorWrap(msg, COLOR.green))
end