TypeVelo.
← Drills Hub

Shifted Top Row Drill (! @ # $ %)

! @ # $ % ^ & * ( )

Every passage contains: ! @ # $ % ^ & * ( )

Net 0 wpmGross 0 wpmAcc 100%
#tag #note 10% $100 R&D 3% stop! & stop! 2^3, 50% up&down & 50% @home a*b @one, 3% (two) $5 (one) wait! @home *note*, $40 4^2 @work * #one 3% @home, R&D @work (two) #tag (x) R&D @home stop! $5

QWERTY layout assumed. Backspace corrects; uncorrected errors count against net WPM.

Every symbol in this drill needs two things at once: a stretch away from home row to the number row, and a Shift held by the opposite hand for as long as the stretch lasts. That combination is what the Number Row: Left Hand and Number Row: Right Hand lessons don't ask for, since a plain digit needs no Shift at all — 1 through 5 sit under the left hand, 6 through 0 under the right, and neither needs the other hand to do anything but keep typing.

The ten shifted symbols split that number row down the middle in a specific way. !, @, #, $ and % sit above 1 through 5, so producing them means the right hand holds Shift while the left hand reaches up. ^, &, * and the shifted parentheses sit above 6 through 0, which flips the assignment: the left hand holds Shift while the right hand reaches. Whichever half of the row a symbol lives above, the hand doing the reaching is never the hand holding the modifier.

The passage places these symbols in three different positions relative to a word: some open it (@home, #tag), some close it (stop!, 50%), and some sit in the middle of one (one&two, x^y) — three different coordination problems wearing the same ten characters.

Why This Drill

@home and #tag put their symbol before any letters, so Shift gets pressed, the symbol lands, and Shift releases before the word even starts — a clean sequence with nothing else competing for the opposite hand's attention. stop! and 50% do the reverse: the word or number types first, Shift arrives only at the very end. That reversal matters because $ and % are typed in opposite orders even though both pair a symbol with digits — $40 holds Shift, types the symbol, releases, then types unshifted digits; 50% types unshifted digits first, then holds Shift only for the final character. Two symbols that look like they'd behave the same way don't.

x^y, one&two and a*b put the shifted symbol in the middle of a token, sandwiched between two unshifted stretches. That's the briefest possible Shift hold of the three positions — press, release, immediately resume typing — but it's also the easiest one to mistime, since the hand has no natural pause on either side to anchor the transition the way a word boundary provides for @ or !.

All of this is a more demanding version of the plain Number Row Drill, which never asks for Shift at all. Nothing here is a hard key to find — every one of these ten characters sits directly above a digit a typist already knows. What's hard is holding a distant hand's modifier down for exactly the right window, over and over, while the reaching hand is also doing something with letters or numbers on either side.

Which Hand Holds Shift Depends on Which Half of the Row

!, @, #, $ and % sit above 1 through 5 — left-hand territory — so the right hand supplies Shift while the left hand stretches up to them. ^, &, * and the shifted parentheses sit above 6 through 0 instead, which puts the reach on the right hand and Shift on the left. There's no single rule a typist can apply to every symbol in this set; which hand does which job flips depending on which half of the number row the character lives above.

A Symbol Before the Word Behaves Differently From One After It

@home and #tag ask for Shift right at the start, before any letters exist to type — a self-contained sequence a hand can complete before turning its attention to the rest of the word. stop! and now! ask for the opposite: type the whole word first, on its own rhythm, then add Shift only at the very last character. The two feel different in the hand for exactly that reason, even though both only need one Shift press per token.

Why $40 and 50% Don't Behave Like Mirror Images

Both pair a shifted symbol with plain digits, which makes them look like the same task from opposite ends. They aren't: $ needs Shift held before any digit is typed and released immediately after, while % needs every digit typed first, unshifted, before Shift appears just once at the very end. A typist expecting the two to mirror each other is set up to mistime one of them.

Frequently Asked Questions

Why does typing $100 feel different from typing 50%, even though both mix a symbol with digits?

The order is reversed. $ needs Shift held before the digits start and released right after; % needs the digits typed first, unshifted, with Shift arriving only for the final character.

Which hand should hold Shift when typing something like @work or #tag?

The one that does not own the digit. Both @ and # sit over left-hand numbers, so Shift belongs to the right.

Why is this harder than the Semicolon & Colon Drill, which is also a Shift decision?

The Semicolon & Colon Drill keeps its Shift and its key on the same hand's territory, with no reach involved at all. This one adds a stretch to the number row on top of the Shift decision, and asks the opposite hand to hold that Shift for the whole length of the reach rather than release it instantly.

Does *note* use the asterisk the same way a*b does?

The keystroke is identical either time — Shift plus 8 — but *note* uses it twice, once on each side of a word, the way a quotation mark wraps a phrase, while a*b uses it once, in the middle of an expression.

Why does an exclamation point at the end of a word feel easier than a symbol at the start?

By the time stop! arrives at its last character, the hand has already built rhythm typing the word; adding one Shift press at the very end doesn't interrupt anything. @home asks for the Shift press before that rhythm exists yet, which is a colder start.

Is there a real reason to drill something like R&D or up&down specifically?

The ampersand appears constantly in brand names, form labels and search queries with no space on either side, so typing it accurately inside a running word, rather than as an isolated character, is closer to how it actually shows up.