Practise

Reading a list does not put a shortcut in your fingers. This asks you to do something and waits for you to press the keys. Two minutes of it is worth more than an afternoon of reading.

Three ways to use it

One group at a time. Every group of shortcuts on an app page that the drill can ask about has a "Practise these" link, which opens this page on that group alone. Five or six new shortcuts, drilled until they stop feeling new, is how they stick.

Sixty seconds. Instead of twenty-five prompts, as many as you can answer in a minute, from the set you chose. The prompts keep coming until the clock runs out.

A challenge. When a run ends, "Challenge someone with these prompts" makes a link that gives whoever opens it the same prompts in the same order, with your score to beat. The order and the score travel after the # in the link, the part a browser never sends to a server, so nothing is stored or sent to make it work. The same set, pressed on the other keyboard, asks for that keyboard's keys.

What it will not ask you

Some shortcuts never reach a web page. ComboShelf cannot test anything behind the Windows key, because Windows takes it first, and the same is true of Cmd+Tab, Cmd+Space, Alt+F4, Ctrl+Alt+Delete and the browser's own tab keys, such as Ctrl+Tab. A Mac's Cmd key is the Windows key on a PC, so on a PC the macOS set skips every shortcut with Cmd in it. The drill leaves those out rather than marking you wrong for a key press that was never delivered.

It also skips anything written as two chords in a row, or as one of several alternatives, because there is more than one right answer and a drill that accepts only one of them is teaching the wrong thing. And it skips keys it could not recognise: a symbol typed with Shift, which the browser reports as the key underneath, a modifier such as Alt pressed on its own, a mouse click, and Esc, which stops the drill.

What it keeps, and where

The drill runs in this page. Your key presses are compared in the browser and then forgotten, and this page deliberately loads no advertising script and no analytics, so there is nothing here that could watch you type even if it wanted to.

What it does keep is your progress, so that it can show it to you next time: for each set, how many runs you have done and your best scores, and for each shortcut, how often it was asked and how often you got it right. That is stored in this browser's local storage, under the key cs.drill, on your own device. It is never uploaded and never leaves the browser. "Clear my progress" deletes it, and so does clearing this site's data in your browser; the cookies and storage page has the detail.