Surfingkeys is a browser extension that provides keyboard-driven navigation and control of the web inspired by the VIM editor.
The extension solves the problem of heavy mouse dependency in web browsing by enabling keyboard-based control across web pages. It works by allowing users to map custom keyboard shortcuts to JavaScript functions, making it possible to define personalized commands for any action. The extension ships with VIM-like navigation bindings by default but is designed to be fully customizable through JavaScript configuration, so users can create shortcuts tailored to their specific workflows rather than being locked into a predefined set.
Surfingkeys suits developers and power users who want to minimize mouse usage and maximize keyboard efficiency while browsing. It works across Google Chrome, Chromium-based browsers, Firefox, and Safari, though feature availability varies by browser. Chromium-based browsers receive the most complete feature set, including window management, PDF viewing, proxy support, and device sync. Firefox supports most features but lacks PDF viewing, device sync, and proxy functionality. Safari has the most limited feature set, missing window management, PDF viewing, tab groups, and markdown preview, though it does support device sync and works on both macOS and iOS with an external keyboard.
The project shows consistent maintenance with regular updates addressing both new browser capabilities and user-reported issues. Development activity demonstrates responsiveness to cross-browser compatibility challenges, with the maintainer actively documenting browser-specific limitations and workarounds. The codebase reflects a focus on extensibility, with the configuration system designed to lower barriers for users adding custom functionality without modifying core code.