{"slug":"gnome-workspace-shortcut-pageup-pagedown-gsettings","locale":"en","isFallback":false,"translationAvailable":["en","id"],"translationUrls":{"en":"/api/notes/gnome-workspace-shortcut-pageup-pagedown-gsettings?locale=en","id":"/api/notes/gnome-workspace-shortcut-pageup-pagedown-gsettings?locale=id"},"title":"Set GNOME Workspace Shortcuts with Bare PageUp/PageDown Keys","description":"GNOME Settings rejects bare PageUp/PageDown for workspace shortcuts. Bypass this GUI limitation using gsettings to enable faster navigation.","date":"2026-05-03","updated":null,"tags":["linux","gnome-50","tutorial","troubleshooting"],"content":"\nI was setting up my GNOME workflow and wanted a clean, single-key shortcut to switch workspaces. <kbd>PageUp</kbd> and <kbd>PageDown</kbd> felt like the natural choice — they're right there, unused during normal typing, and perfectly positioned for thumb access.\n\nBut GNOME Settings had other plans. Every time I tried to assign them under **Settings → Keyboard → Navigation**, the dialog simply refused to save. No error message. Just silence.\n\nThe problem: GNOME's GUI keyboard shortcut editor requires at least one modifier key (<kbd>Super</kbd>, <kbd>Ctrl</kbd>, <kbd>Alt</kbd>) for workspace navigation shortcuts. Bare keys are silently rejected. The fix is straightforward — set them via `gsettings` on the command line.\n\n![GNOME keyboard shortcut navigation settings showing workspace switch options](https://res.cloudinary.com/snipgeek/image/upload/q_auto/f_auto/v1777635382/Screenshot_inqbkp.webp)\n\n## Setting the Shortcuts via gsettings\n\nOne thing to note: GNOME modern workspace layouts are horizontal, so the key names use **left/right** instead of up/down.\n\n<Steps>\n  <Step>\n\n### Open a Terminal\n\nAny terminal emulator works.\n\n  </Step>\n  <Step>\n\n### Assign PageUp and PageDown\n\nRun these two commands:\n\n```bash\ngsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left \"['Page_Up']\"\ngsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right \"['Page_Down']\"\n```\n\n  </Step>\n  <Step>\n\n### Verify the Assignment\n\nConfirm the shortcuts were stored correctly:\n\n```bash\ngsettings get org.gnome.desktop.wm.keybindings switch-to-workspace-left\ngsettings get org.gnome.desktop.wm.keybindings switch-to-workspace-right\n```\n\nExpected output:\n\n```\n['Page_Up']\n['Page_Down']\n```\n\n  </Step>\n</Steps>\n\nThat's it. <kbd>PageUp</kbd> and <kbd>PageDown</kbd> now switch workspaces immediately — no modifier key required.\n\n<Callout variant=\"info\" title=\"Prefer a Modifier Combination?\">\n  If you'd rather use <kbd>Super</kbd>+<kbd>PageUp</kbd> or similar, adjust the command:\n\n  ```bash\n  gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left \"['<Super>Page_Up']\"\n  gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right \"['<Super>Page_Down']\"\n  ```\n</Callout>\n\n## Why the Terminal Is Necessary\n\nI spent a good five minutes clicking around the Settings app thinking I was doing something wrong. Turns out, the GUI keyboard shortcut editor has a hard filter: it won't register any shortcut for workspace navigation unless at least one modifier key is present. This is a deliberate design choice, not a bug — presumably to prevent accidental workspace switches during normal typing.\n\nBut `gsettings` doesn't enforce that filter. The same bare-key binding that the GUI rejects is perfectly valid at the dconf level. Once I learned that, the fix took about ten seconds.\n\nIf you're setting up a [fresh Ubuntu install](/blog/ubuntu-26-04-lts-resolute-raccoon-new-features-major-changes), I'd recommend adding these commands to your post-install script alongside other [GNOME customization tweaks](/blog/remap-keyboard-key-keyd-wayland-linux). It's a small quality-of-life improvement that makes workspace navigation feel noticeably faster.\n\n### References\n1. [gsettings — GNOME Developer Documentation](https://developer.gnome.org/gio/stable/gsettings.html)\n2. [org.gnome.desktop.wm.keybindings — GNOME Schemas](https://gitlab.gnome.org/GNOME/gnome-control-center/-/blob/main/schemas/org.gnome.desktop.wm.keybindings.gschema.xml)"}