03 / Controls
Skate 3 browser controls: every key and input
The Skate 3 browser port maps your keyboard onto an Xbox 360 pad before the game ever sees it. Once you know which key is which stick, the keyboard stops feeling wrong — and a pad stops being mandatory.
Facts read from the port's own client build 8e0af1091240, checked 2026-10-11. Sources and verification ↓
The short answer
- WASD is the left stick. It steers and crouches.
- The arrow keys are the right stick — the FlickIt stick. Down then up is an ollie.
- Shift and C are the two triggers, which the game uses for grabs.
- A gamepad is optional but better, because a real stick beats four digital directions for flick gestures.
- Keys going to the page instead of the skater? Click once inside the game area to give the canvas focus.
Keyboard to Xbox 360 pad
This is the complete keyboard map, read from the Skate 3 browser port's own key table. The left column is what the game receives — the Skate 3 browser port builds a virtual Xbox 360 pad each frame and hands that to the engine, so the game never sees a keyboard at all. That is also why the mapping is worth learning as a controller layout rather than as a list of shortcuts.
| Key | Sends to the game | What that is on an Xbox 360 pad |
|---|---|---|
| W A S D | Left stick | Steering and crouching |
| ↑ ↓ ← → | Right stick | The FlickIt stick — tricks and gestures |
| Shift | LT | Left trigger — a grab |
| C | RT | Right trigger — a grab |
| Z | LB | Left bumper |
| X | RB | Right bumper |
| Space | A | Push and confirm |
| E | B | B button |
| Q | X | X button |
| R | Y | Y button |
| V | Left stick click | L3 |
| B | Right stick click | R3 |
| I K J L | D-pad | Up, down, left, right |
| Esc | START | Pause menu |
| Tab | BACK | Back |
Gamepads, and why they feel better
A pad is a genuine upgrade here, for one specific reason: the right stick becomes an analogue FlickIt stick. A flick gesture needs a direction and a release, not just a direction, so a real stick reproduces the console input exactly, whereas the arrow keys quantise it to four directions. Everything still works on keys — it is simply less forgiving on diagonal flicks.
The engine behind the port supports Xbox and XInput pads, PlayStation pads, Switch pads and generic HID controllers, with XInput kept as a fallback on Windows. What the browser recognises as a gamepad is what the port receives.
If a pad does nothing, the cause is usually the browser rather than the pad. Press a button once the game screen is up so the browser opens its gamepad connection. There is one deliberate quirk worth knowing: a button that was already held down before a screen appeared does not count as your press, so if the menu will not accept input, let go and press again.
Trackpad Mode
The Skate 3 browser port has a second analogue stick you may not know about. Under the pause menu, PLAYER, sits Trackpad Mode, which turns mouse or trackpad movement into the right stick. It is the closest a keyboard session gets to stick feel.
How it works in practice:
- Click once on the game area to lock the pointer, so long strokes never run into the edge of the screen.
- Move the mouse or trackpad down, then quickly back up. That single stroke reads as the pull-back-and-flick the FlickIt gestures expect.
- Stop moving and the virtual stick springs back to centre, so the next gesture starts from neutral.
There are four sensitivity steps, from off to quite fast. If ollies are not registering, the usual cause is a stroke that is too slow for the spring-back, not a broken setting — try a shorter, sharper flick, or move up a sensitivity step.
Touch controls
On a touch screen the Skate 3 browser port draws an on-screen controller, and it feeds exactly the same virtual pad the keyboard uses, so nothing about the game changes. The left stick steers and crouches; the right pad is the FlickIt stick and springs back when you lift your finger, which is what makes the down-then-up gesture work with a thumb.
One practical note: a flick needs room for both halves of the gesture. Starting a pull right at the edge of the right stick area leaves nowhere to snap back to, so keep strokes centred in the ring. Phones also benefit from landscape orientation, which moves the browser chrome out of the way.
Keys nobody documents
The Skate 3 browser port ships a few bindings that never appear in its control help:
- F8 — a debug camera.
- T — drop your skater at the debug camera's position. Useful for getting to a spot without skating there.
- F1 / F2 — yes and no in a multiplayer kick vote. The port claims these two keys from the browser specifically so the browser's own F1 help does not steal them mid-session.
- Enter — confirm, the same as Space in menus.
When keys seem dead
The most common "the controls are broken" report has nothing to do with the mapping. Until the game canvas has focus, your keystrokes go to the page and scroll it instead. Click once inside the game area and the keys start reaching the skater.
The Skate 3 browser port also clears every held key when the window loses focus, which is why alt-tabbing away and back can leave you apparently stuck mid-gesture: nothing is held any more, so release everything and start the trick again.
Sources and verification
Search intent for this page: skate 3 browser controls, skate 3 keyboard controls, gamepad mapping, trackpad mode.
Everything above is read from the port's own client files rather than from a summary of them, so each claim can be re-checked after the project ships an update. The build hash in the script URL changes on every release; it is what we re-verify against.
- main.js — the KEY_BUTTONS table and keyboardPad(), which is where every keyboard binding is defined
- main.js — Trackpad Mode: pointer-lock behaviour, the four sensitivity steps and the 75 ms spring-back
- touch.js — the on-screen sticks and buttons, and the fact that they feed the same virtual pad as the keyboard
- frontend.js — the input help the game shows in its own pause menu
What we checked
- Each binding in the keyboard table, read from the KEY_BUTTONS map in main.js.
- The stick assignments, from the axis code in keyboardPad().
- The trigger keys, from the same function, including that Shift covers both left and right.
- Trackpad Mode’s four sensitivity steps and spring-back timing.
- That the touch controls feed the identical virtual pad rather than a separate input path.
What we have not tested
- How any individual pad behaves on your machine. Controller drivers are outside the port.
- Whether every browser reports trigger values identically. The port reads them, we did not measure them across browsers.
- Which trick each button produces. That is game logic; this page only documents the input mapping.