diff options
author | Teddy Wing | 2019-06-19 01:38:22 +0200 |
---|---|---|
committer | Teddy Wing | 2019-06-19 01:38:22 +0200 |
commit | b4ce7ff275bf53a0de7b11c84d70776de34c5fcc (patch) | |
tree | 192b5b8b5762b174fbf21502ff73e7a19934d304 /mouse.lua | |
parent | aacaa65c24a6e12e8708a61914870ad5d314915b (diff) | |
download | dothammerspoon-b4ce7ff275bf53a0de7b11c84d70776de34c5fcc.tar.bz2 |
mouse: Add scrolling shortcuts
Scroll up, down, left, right using the number pad keys. Activate using
F14, or scroll lock.
Diffstat (limited to 'mouse.lua')
-rw-r--r-- | mouse.lua | 40 |
1 files changed, 40 insertions, 0 deletions
@@ -100,6 +100,34 @@ function mouse.top_right(amount) end end +function mouse.scroll(offsets) + hs.eventtap.event.newScrollEvent(offsets, {}, 'pixel'):post() +end + +function mouse.scroll_down(amount) + return function() + mouse.scroll({0, -amount}) + end +end + +function mouse.scroll_left(amount) + return function() + mouse.scroll({amount, 0}) + end +end + +function mouse.scroll_right(amount) + return function() + mouse.scroll({-amount, 0}) + end +end + +function mouse.scroll_up(amount) + return function() + mouse.scroll({0, amount}) + end +end + mouse_mode = hs.hotkey.modal.new({}, 'padclear', 'Mouse') mouse_mode:bind({}, 'padclear', 'Mouse Off', function() @@ -135,3 +163,15 @@ mouse_mode:bind({'option'}, 'pad6', mouse.right(1), nil, mouse.right(1)) mouse_mode:bind({'option'}, 'pad7', mouse.top_left(1), nil, mouse.top_left(1)) mouse_mode:bind({'option'}, 'pad8', mouse.top(1), nil, mouse.top(1)) mouse_mode:bind({'option'}, 'pad9', mouse.top_right(1), nil, mouse.top_right(1)) + + +-- TODO: Way to activate scroll mode while mouse mode is active +scroll_mode = hs.hotkey.modal.new({}, 'f14', 'Scroll') +scroll_mode:bind({}, 'f14', 'Scroll Off', function() + scroll_mode:exit() +end) + +scroll_mode:bind({}, 'pad2', mouse.scroll_down(100), nil, mouse.scroll_down(100)) +scroll_mode:bind({}, 'pad4', mouse.scroll_left(100), nil, mouse.scroll_left(100)) +scroll_mode:bind({}, 'pad6', mouse.scroll_right(100), nil, mouse.scroll_right(100)) +scroll_mode:bind({}, 'pad8', mouse.scroll_up(100), nil, mouse.scroll_up(100)) |