From 7a3e8ed86a5a3608cd0de0d3e9a4099d5cbbfdae Mon Sep 17 00:00:00 2001 From: Adam Harrison Date: Sun, 7 Nov 2021 14:31:15 -0500 Subject: [PATCH] Added in mousewheel as part of this. --- data/core/init.lua | 4 +++- data/core/keymap.lua | 5 +++++ data/plugins/scale.lua | 13 ++----------- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/data/core/init.lua b/data/core/init.lua index a8aa0645..d07f1cbc 100644 --- a/data/core/init.lua +++ b/data/core/init.lua @@ -928,7 +928,9 @@ function core.on_event(type, ...) elseif type == "mousereleased" then core.root_view:on_mouse_released(...) elseif type == "mousewheel" then - core.root_view:on_mouse_wheel(...) + if not core.root_view:on_mouse_wheel(...) then + did_keymap = keymap.on_mouse_wheel(...) + end elseif type == "resized" then core.window_mode = system.get_window_mode() elseif type == "minimized" or type == "maximized" or type == "restored" then diff --git a/data/core/keymap.lua b/data/core/keymap.lua index 3ecdd589..ef8c03ee 100644 --- a/data/core/keymap.lua +++ b/data/core/keymap.lua @@ -85,6 +85,11 @@ function keymap.on_key_pressed(k, ...) return false end +function keymap.on_mouse_wheel(delta, ...) + return not keymap.on_key_pressed("wheel" .. (delta > 0 and "up" or "down"), delta, ...) + and keymap.on_key_pressed("wheel", delta, ...) +end + local click_prefixes = { "", "d", "t" } function keymap.on_mouse_pressed(button, x, y, clicks) return keymap.on_key_pressed(click_prefixes[((clicks - 1) % 3) + 1] .. button:sub(1,1) .. "click", x, y, clicks) diff --git a/data/plugins/scale.lua b/data/plugins/scale.lua index b8384609..56eabbb0 100644 --- a/data/plugins/scale.lua +++ b/data/plugins/scale.lua @@ -67,17 +67,6 @@ local function get_scale() return current_scale end -local on_mouse_wheel = RootView.on_mouse_wheel - -function RootView:on_mouse_wheel(d, ...) - if keymap.modkeys["ctrl"] and config.plugins.scale.use_mousewheel then - if d < 0 then command.perform "scale:decrease" end - if d > 0 then command.perform "scale:increase" end - else - return on_mouse_wheel(self, d, ...) - end -end - local function res_scale() set_scale(default_scale) end @@ -101,6 +90,8 @@ keymap.add { ["ctrl+0"] = "scale:reset", ["ctrl+-"] = "scale:decrease", ["ctrl+="] = "scale:increase", + ["ctrl+wheelup"] = "scale:increase", + ["ctrl+wheeldown"] = "scale:decrease" } return {