Last active
February 17, 2024 10:00
-
-
Save pschmitt/1cafdb733418c620e8fa3c0026c00837 to your computer and use it in GitHub Desktop.
hyprland input config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://wiki.hyprland.org/Configuring/Binds/ | |
$mod = SUPER | |
# hyprland binds | |
bind = $mod SHIFT, C, exec, $bin_dir/kill-active.sh | |
bind = $mod SHIFT, K, exec, hyprctl kill | |
bind = $mod SHIFT, Q, exec, $bin_dir/leave.sh | |
bind = $mod SHIFT, R, exec, $bin_dir/reload-config.sh | |
bind = $mod ALT, R, forcerendererreload, | |
# tiling | |
bind = $mod SHIFT, space, togglefloating, | |
bind = $mod ALT, space, togglesplit, # dwindle | |
bind = $mod, P, pseudo, # dwindle | |
bind = $mod SHIFT, comma, exec, $bin_dir/switch-layout.sh | |
bind = $mod, T, togglegroup | |
bind = $mod SHIFT, T, changegroupactive | |
bind = $mod, comma, changegroupactive | |
# Scroll through existing workspaces with mod + scroll | |
bind = $mod, mouse_down, workspace, e+1 | |
bind = $mod, mouse_up, workspace, e-1 | |
# Move/resize windows with mod + LMB/RMB and dragging | |
bindm = $mod, mouse:272, movewindow | |
bindm = $mod, mouse:273, resizewindow | |
# Fullscreen | |
bind = $mod, F, fullscreen, | |
# Maximize | |
bind = $mod, M, fullscreen, 1 | |
# Fake fullscreen | |
bind = $mod SHIFT, F, fakefullscreen, | |
# Move windows with mod + arrow keys | |
bind = $mod, left, movewindow, l | |
bind = $mod, right, movewindow, r | |
bind = $mod, up, movewindow, u | |
bind = $mod, down, movewindow, d | |
# Swap windows with mod + s | |
bind = $mod, s, swapnext, | |
# Move window to next workspace/monitor | |
bind = $mod SHIFT, up, movewindow, mon:+1 | |
bind = $mod SHIFT, up, focusmonitor, +1 | |
bind = $mod SHIFT, up, movecursortocorner, 4 | |
bind = $mod SHIFT, down, movewindow, mon:-1 | |
bind = $mod SHIFT, down, focusmonitor, -1 | |
bind = $mod SHIFT, down, movecursortocorner, 3 | |
bind = $mod SHIFT, left, movetoworkspacesilent, -1 | |
bind = $mod SHIFT, right, movetoworkspacesilent, +1 | |
# Move focus with mod + arrow keys (vim style) | |
bind = $mod, h, movefocus, l | |
bind = $mod, l, movefocus, r | |
bind = $mod, k, movefocus, u | |
bind = $mod, j, movefocus, d | |
bind = $mod , tab, workspace, previous | |
bind = $mod ALT, left, workspace, -1 | |
bind = $mod ALT, right, workspace, +1 | |
# bind = $mod ALT, up, NOTHING | |
# bind = $mod ALT, down, NOTHING | |
# Switch workspaces with mod + [0-9] | |
bind = $mod, 1, moveworkspacetomonitor, 1 current | |
bind = $mod, 1, workspace, 1 | |
bind = $mod, 2, moveworkspacetomonitor, 2 current | |
bind = $mod, 2, workspace, 2 | |
bind = $mod, 3, moveworkspacetomonitor, 3 current | |
bind = $mod, 3, workspace, 3 | |
bind = $mod, 4, moveworkspacetomonitor, 4 current | |
bind = $mod, 4, workspace, 4 | |
bind = $mod, 5, moveworkspacetomonitor, 5 current | |
bind = $mod, 5, workspace, 5 | |
bind = $mod, 6, moveworkspacetomonitor, 6 current | |
bind = $mod, 6, workspace, 6 | |
bind = $mod, 7, moveworkspacetomonitor, 7 current | |
bind = $mod, 7, workspace, 7 | |
bind = $mod, 8, moveworkspacetomonitor, 8 current | |
bind = $mod, 8, workspace, 8 | |
bind = $mod, 9, moveworkspacetomonitor, 9 current | |
bind = $mod, 9, workspace, 9 | |
bind = $mod, 0, moveworkspacetomonitor, 10 current | |
bind = $mod, 0, workspace, 10 | |
# Move active window to a workspace with mod + SHIFT + [0-9] | |
bind = $mod SHIFT, 1, movetoworkspace, 1 | |
bind = $mod SHIFT, 2, movetoworkspace, 2 | |
bind = $mod SHIFT, 3, movetoworkspace, 3 | |
bind = $mod SHIFT, 4, movetoworkspace, 4 | |
bind = $mod SHIFT, 5, movetoworkspace, 5 | |
bind = $mod SHIFT, 6, movetoworkspace, 6 | |
bind = $mod SHIFT, 7, movetoworkspace, 7 | |
bind = $mod SHIFT, 8, movetoworkspace, 8 | |
bind = $mod SHIFT, 9, movetoworkspace, 9 | |
bind = $mod SHIFT, 0, movetoworkspace, 10 | |
binde = $mod SHIFT, h, resizeactive, -25 0 | |
binde = $mod SHIFT, j, resizeactive, 0 25 | |
binde = $mod SHIFT, k, resizeactive, 0 -25 | |
binde = $mod SHIFT, l, resizeactive, 25 0 | |
# Resize submap | |
$submap_resize = ↔️ resize | |
bind = $mod ALT, R, submap, $submap_resize | |
submap = $submap_resize | |
# sets repeatable binds for resizing the active window | |
binde = , right, resizeactive, 25 0 | |
binde = , left, resizeactive, -25 0 | |
binde = , up, resizeactive, 0 -25 | |
binde = , down, resizeactive, 0 25 | |
# use reset to go back to the global submap | |
bind = , escape, submap, reset | |
bind = , return, submap, reset | |
submap = reset | |
# Screenshot | |
bind = , Print, exec, $bin_dir/screenshot.sh | |
# apps | |
bind = $mod, Return, exec, $bin_dir/term.sh | |
bind = $mod SHIFT, Return, exec, $bin_dir/term.sh | |
bind = $mod SHIFT, M, exec, zhj hyprctl::fix-mouse | |
bind = $mod , W, exec, $bin_dir/run-or-raise.sh firefox | |
bind = $mod ALT , Y, exec, $bin_dir/browser-run-or-raise.sh --title youtube --url https://www.youtube.com | |
bind = $mod ALT , Z, exec, $bin_dir/zoom-home-room.sh | |
bind = $mod ALT , H, exec, $bin_dir/browser-run-or-raise.sh --url https://hass.ovm5.de --alt http://10.5.1.1:8123 | |
# scratchpads | |
# bind = , F1, exec, pypr toggle term | |
# bind = , F1, exec, $bin_dir/resize-window.sh -w 50 -H 50 -c kitty-scratch | |
bind = , F1, exec, $bin_dir/scratchpad.sh term | |
bind = $mod , E, exec, $bin_dir/scratchpad.sh files | |
bind = $mod SHIFT, V, exec, $bin_dir/scratchpad.sh audio | |
$barify = $sway_bin_dir/barify | |
# brightness control | |
$brightness_up = $barify brightness up | |
$brightness_down = $barify brightness down | |
bindl = , XF86MonBrightnessUp, exec, $brightness_up | |
bindl = , XF86MonBrightnessDown, exec, $brightness_down | |
# Audio | |
$volume_sink_up = $barify sink up | |
$volume_sink_down = $barify sink down | |
$volume_sink_mute = $barify sink mute | |
$volume_source_up = $barify source up | |
$volume_source_down = $barify source down | |
$volume_source_mute = $barify source mute | |
bindl = , XF86AudioRaiseVolume, exec, $volume_sink_up | |
bindl = , XF86AudioLowerVolume, exec, $volume_sink_down | |
bindl = , XF86AudioMute, exec, $volume_sink_mute | |
bindl = , XF86AudioMicMute, exec, ~/bin/obs.zsh toggle-mute | |
bindl = $mod, space, exec, ~/bin/obs.zsh toggle-mute | |
# playerctl | |
$playerctl_toggle = $sway_bin_dir/playerctl-wrapper.sh toggle | |
$playerctl_play = $sway_bin_dir/playerctl-wrapper.sh play | |
$playerctl_pause = $sway_bin_dir/playerctl-wrapper.sh pause | |
$playerctl_next = $sway_bin_dir/playerctl-wrapper.sh next | |
$playerctl_previous = $sway_bin_dir/playerctl-wrapper.sh previous | |
bindl = , XF86AudioPlay, exec, $playerctl_toggle | |
bindl = , XF86AudioPause, exec, $playerctl_pause | |
bindl = , XF86AudioNext, exec, $playerctl_next | |
bindl = , XF86AudioPrev, exec, $playerctl_previous | |
bindl = CONTROL ALT, up, exec, $playerctl_toggle | |
bindl = CONTROL ALT, right, exec, $playerctl_next | |
bindl = CONTROL ALT, left, exec, $playerctl_previous | |
# Toggle mute | |
# obs-studio | |
bind = $mod ALT, a, exec, ~/bin/obs.zsh alt | |
bind = $mod ALT, w, exec, ~/bin/obs.zsh webcam | |
bind = $mod SHIFT ALT, w, exec, ~/bin/zhj zoom::double-click-on-webcam | |
bindl = $mod ALT, b, exec, ~/bin/obs.zsh brb --mute | |
bind = $mod ALT, f, exec, ~/bin/obs.zsh freeze | |
# Reactions | |
bind = $mod ALT, up, exec, ~/bin/obs.zsh thumbs-up | |
bind = $mod ALT, down, exec, ~/bin/obs.zsh thumbs-down | |
bind = $mod ALT, period, exec, ~/bin/obs.zsh emoji | |
# wofi | |
bind = $mod , R, exec, ~/bin/wofi.zsh run | |
bind = $mod , period, exec, $sway_bin_dir/wofi-emoji.sh | |
bind = $mod ALT, c, exec, ~/.config/waybar/custom_modules/clipboard.sh | |
bind = $mod ALT, v, exec, zhj clipboard::revert --notify | |
bind = $mod ALT, p, exec, ~/bin/wofi.zsh bitwarden | |
bind = $mod ALT, m, exec, ~/bin/wofi.zsh misc | |
bind = $mod ALT, j, exec, ~/bin/wofi.zsh meetings | |
bind = $mod ALT, g, exec, ~/bin/wofi.zsh bitwarden-work | |
bind = $mod ALT, s, exec, ~/bin/wofi.zsh soundboard | |
bind = $mod SHIFT, s, exec, ~/bin/wofi.zsh soundboard stop | |
# vim:set ft=hypr et ts=2 sw=2: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
device:pfu-limited-hhkb-hybrid { | |
kb_layout = de_hhkb | |
} | |
device:pfu-limited-hhkb-hybrid-consumer-control { | |
kb_layout = de_hhkb | |
} | |
device:pfu-limited-hhkb-hybrid-keyboard { | |
kb_layout = de_hhkb | |
} | |
device:hhkb-hybrid_1-keyboard { | |
kb_layout = de_hhkb | |
} | |
input { | |
kb_layout = de,us | |
kb_variant = | |
kb_model = | |
kb_options = | |
kb_rules = | |
follow_mouse = 2 | |
touchpad { | |
natural_scroll = no | |
} | |
sensitivity = 0 # -1.0 - 1.0, 0 means no modification. | |
} | |
# TODO Add bluetooth hhkb config | |
gestures { | |
# See https://wiki.hyprland.org/Configuring/Variables/ for more | |
workspace_swipe = off | |
} | |
# Example per-device config | |
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more | |
# device:epic-mouse-v1 { | |
# sensitivity = -0.5 | |
# } | |
# vim: set ft=hypr et ts=2 sw=2 : |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$lock = $bin_dir/lock.sh | |
$idle = $bin_dir/idle.sh | |
exec-once = $ensure1 -j hyprland-idle -- $idle | |
bind = $mod ALT, L, exec, $lock --now | |
# DIRTYFIX For x13 where swaylock fails to register keypresses after resuming | |
# from sleep | |
bindl = $mod CONTROL ALT, L, exec, ~/bin/zhj "lockscreen::restart" | |
# https://wiki.hyprland.org/Configuring/Binds/#switches | |
bindl = , switch:off:Lid Switch, exec, $lock | |
bindl = , switch:on:Lid Switch, exec, hyprctl dispatch dpms on | |
# firefox | |
windowrule = idleinhibit fullscreen, ^(firefox)$ | |
windowrule = idleinhibit always, title:^(Picture-in-Picture)$ | |
# google-chrome | |
windowrule = idleinhibit fullscreen, ^(Google-chrome)$ | |
windowrule = idleinhibit fullscreen, ^(Chromium)$ | |
# vim: set ft=hypr ts=2 sw=2 et: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment