From 7e0dca86e635183ab73c1fc2ab38a6a6bd8d61f2 Mon Sep 17 00:00:00 2001 From: voidarc Date: Wed, 26 Aug 2026 14:16:11 +0100 Subject: [PATCH] moved all the input stuff to a seperate file and added switch detection for tablet mode --- modules/settings/input.lua | 32 ------------------ modules/tablet.lua | 66 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 32 deletions(-) create mode 100644 modules/tablet.lua diff --git a/modules/settings/input.lua b/modules/settings/input.lua index a8fc210..eed6f7b 100644 --- a/modules/settings/input.lua +++ b/modules/settings/input.lua @@ -24,38 +24,6 @@ hl.config({ }, }) --- Config for hyprgrass -if hl.plugin.hyprgrass ~= nil then - hl.config({ - plugin = { - hyprgrass = { - -- The default sensitivity is probably too low on tablet screens, - -- I recommend turning it up to 4.0 - sensitivity = 4.0, - - -- in milliseconds - long_press_delay = 400, - - -- resize windows by long-pressing on window borders and gaps. - -- If general:resize_on_border is enabled, general:extend_border_grab_area is - -- used for floating windows - resize_on_border_long_press = false, - - -- in pixels, the distance from the edge that is considered an edge - edge_margin = 10, - }, - }, - gestures = { - workspace_swipe_touch = true, - workspace_swipe_cancel_ratio = 0.15, - }, - }) - hl.gesture({ - fingers = 3, - direction = "horizontal", - action = "workspace", - }) -end if Hostname == "mobile02" or Hostname == "mobile03" then hl.config({ diff --git a/modules/tablet.lua b/modules/tablet.lua new file mode 100644 index 0000000..712af2a --- /dev/null +++ b/modules/tablet.lua @@ -0,0 +1,66 @@ +-- Config for hyprgrass +if hl.plugin.hyprgrass ~= nil then + hl.config({ + plugin = { + hyprgrass = { + -- The default sensitivity is probably too low on tablet screens, + -- I recommend turning it up to 4.0 + sensitivity = 4.0, + + -- in milliseconds + long_press_delay = 400, + + -- resize windows by long-pressing on window borders and gaps. + -- If general:resize_on_border is enabled, general:extend_border_grab_area is + -- used for floating windows + resize_on_border_long_press = true, + + -- in pixels, the distance from the edge that is considered an edge + edge_margin = 10, + }, + }, + gestures = { + workspace_swipe_touch = true, + workspace_swipe_cancel_ratio = 0.15, + }, + }) + hl.gesture({ + fingers = 3, + direction = "horizontal", + action = "workspace", + }) + + hl.notification.create({ + text = "not using main config", + timeout = 8000, + icon = "warning", + }) + hl.plugin.hyprgrass.bind({ + pattern = { kind = "tap", fingers = 3 }, + action = hl.dsp.window.float(), + }) + hl.plugin.hyprgrass.bind({ + pattern = { kind = "longpress", fingers = 3 }, + action = hl.dsp.window.drag(), + mouse = true, + }) + hl.plugin.hyprgrass.gesture({ + pattern = { kind = "swipe", fingers = 2, direction = "vertical" }, + action = "emulate_touchpad", + emulate_fingers = 2, + }) + hl.bind("switch:on:Intel HID switches", function() + hl.notification.create({ + text = "tablet mode on", + timeout = 8000, + icon = "ok", + }) + end, { locked = true }) + hl.bind("switch:off:Intel HID switches", function() + hl.notification.create({ + text = "tablet mode off", + timeout = 8000, + icon = "ok", + }) + end, { locked = true }) +end