Skip to content

Repository files navigation

AnyKey: use any website from the keyboard

Scroll, click, switch tabs and press any button without the mouse, on every site.
Vimium-style link hints, a key for anything on a page, and presets for GitHub, YouTube and Reddit.

CI Chrome Web Store: in review Manifest V3 Data collected: none License: MIT

Install · Keys · Presets · Demo video · Development

Pressing F puts a short label on every link and button; typing a label clicks it
Link hints on a recipe page. Watch the 40-second demo.

What it does

Link hints on every link and button of a recipe page

Click without the mouse. Press F and every link, button and field in view gets a label. Type the label to click it, or press g f to open a link in a new tab.

Picking the Save recipe button and giving it the keys g then s

A key for anything. Pick a button, link or field on any site and press the keys you want for it. AnyKey remembers the element several ways, so the shortcut still finds it after the site changes.

The cheatsheet listing every shortcut on the page

Every shortcut, one key away. Press ? on any page to see what works there, starting with the site's own keys on sites with a preset.

The settings page with the GitHub preset's shortcuts

Presets you can change. GitHub, YouTube and Reddit get keys they lack, and keep their own. Change or switch off any shortcut; yours always win over a preset's.

Install

Chrome Web Store: AnyKey 1.0 is in review. The link goes here once it is published.

From a release, in Chrome, Brave or another Chromium browser:

  1. Download anykey-<version>-chrome.zip from Releases and unzip it.
  2. Open chrome://extensions (brave://extensions in Brave) and turn on Developer mode.
  3. Click Load unpacked and pick the unzipped folder.

AnyKey starts in the tabs you already have open, without reloading them, and opens a welcome page where its keys already work.

Keys

Keys What they do
j k Scroll down, up
d u Half a page down, up
g g   G Top of the page, bottom
F Link hints: type a label to click it
g f Link hints that open the link in a new tab
H L Back, forward
J K Previous tab, next tab
x Close the tab
? Every shortcut that works on the page
Alt+Shift+K (⌥⇧K on a Mac) AnyKey's panel, from any tab

Keys typed into a text field go to the field. Plain f stays with the site, so it still means fullscreen on YouTube. Any key can be changed or switched off in the settings, and AnyKey can be turned off for a site from its panel.

Your own shortcuts: click AnyKey's toolbar button, then Add shortcut for this site. Point at a button, link or field and click it (or press Tab to move and Enter to pick), then press the keys you want, such as g then s. The shortcut works on every page of that site.

Presets

Presets add keys a site lacks and step aside where it has its own: on a YouTube video, j and k seek and pause as YouTube intends, and scroll everywhere else.

Site Keys
GitHub g r Releases · g e Settings tab · S star or unstar · C the Code menu, to clone
YouTube g l like · g d dislike · g s subscribe · g c write a comment · g u the channel
Reddit g h home · g p Popular · g n notifications · g m chat · / search

Want one for another site? Request a preset.

Privacy

AnyKey collects no data and makes no network requests. Your shortcuts stay in your browser, and sync through the browser's own sync if you have it on. PRIVACY.md is the privacy policy, and PERMISSIONS.md says why AnyKey asks for each permission.

Development

Built with WXT, TypeScript, React and Tailwind (the popup and settings only), Vitest and Playwright. Requires Node 22.12+ and pnpm.

pnpm install
pnpm build          # production build in dist/chrome-mv3
pnpm dev            # watch build in dist/chrome-mv3-dev

Load the build at chrome://extensions: turn on Developer mode, click Load unpacked and pick dist/chrome-mv3 (or dist/chrome-mv3-dev while pnpm dev runs). After a rebuild, click the reload icon on the AnyKey card: AnyKey starts again in the tabs already open, without reloading them.

pnpm check          # typecheck, lint, em-dash check, unit tests, build
pnpm test:e2e       # Playwright against the built extension, as this system and as Windows
pnpm test:live      # the GitHub and YouTube presets on the live sites, signed out
pnpm store:images   # the Chrome Web Store images, the GitHub banner, and the demo video's stills
pnpm zip            # the upload for the Chrome Web Store, dist/anykey-<version>-chrome.zip

The first E2E run needs Playwright's Chromium: pnpm exec playwright install chromium. CI runs pnpm check and pnpm test:e2e on every push.

Docs:

License

MIT

About

Use any website from the keyboard: link hints, scroll keys, a key for any button, and presets for GitHub, YouTube and Reddit. Chrome extension, Manifest V3.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages