Repository navigation
Releases: elicoggins/keyboardwarrior
Release list
Keyboard Warrior 2.0.0
What’s new
- Greatly improved highway customization. Added control over lane width, center gap size, word and note size, and many more.
- New graphics and audio. Optional new pixelated note graphic and better sound effects for app navigation.
- Hit and Guide sounds. User requested feature to add optional hit and guide sounds similar to other popular rhythm games.
- Fairer timing and scoring. Managing a local patch of macroquad means that input timestamps survive frame processing, late frames no longer turn on-time presses into misses, sustain scoring uses elapsed song time, and stray presses count against the results grade correctly.
- And much more behind the scenes
Download
| Platform | File |
|---|---|
| macOS (Apple Silicon and Intel) | KeyboardWarrior-2.0.0-macOS-universal.zip |
| Windows (x86-64) | KeyboardWarrior-2.0.0-windows-x86_64.zip |
| Linux (x86-64) | KeyboardWarrior-2.0.0-linux-x86_64.tar.gz |
First launch
These builds are not code-signed.
- macOS: after the first blocked launch, open System Settings → Privacy & Security, scroll down and choose Open Anyway for Keyboard Warrior.
- Windows: Make sure to extract the ZIP to it's own folder. Then run the .exe. In the SmartScreen prompt, choose More info → Run anyway.
The release includes macOS universal, Windows x86-64, and Linux x86-64 downloads plus SHA256SUMS.txt.
Keyboard Warrior 1.3.0
What's new in 1.3.0
- Word Algorithm - spent lots of time building out a more sophisticated word selection algorithm.
The over reliance on 8 letter words has been toned down, and word selection now accounts for ergonomics,
lane distribution, and musical flow. Impact lyrics have also been added - a few times a song you'll see a lyric
appear to type (if lyrics are available on chart) - Highway options now include strike-line position, note size, center gap,
center guides, word size, and the number of visible word rows, all reflected
in the live preview. This gives users much more control and the ability to move
words higher up on the screen without blocking falling notes to ease vision. - Long empty sections are skippable. Hold SPACE when the prompt appears and
a 4-3-2-1 count brings you back in before the next note. - Enhanced results screen Every judgement is split into
EARLY and LATE counts alongside an average timing offset. When a run exposes
a consistent offset, press A to apply the suggested calibration adjustment. - Turn on new 'timing labels' option to replace GREAT and GOOD feedback with EARLY, LATE, VERY EARLY,
and VERY LATE mid song. - Space bar to preview songs on Download screen
Download
| Platform | File |
|---|---|
| macOS (Apple Silicon and Intel) | KeyboardWarrior-1.3.0-macOS-universal.zip |
| Windows (x86-64) | KeyboardWarrior-1.3.0-windows-x86_64.zip |
| Linux (x86-64) | KeyboardWarrior-1.3.0-linux-x86_64.tar.gz |
macOS: first launch
Keyboard Warrior is not code-signed, so macOS blocks it the first time.
- Move the app to Applications, then double-click it once. When macOS blocks
it, click Done. - Open System Settings → Privacy & Security, scroll to Security, and click
Open Anyway beside Keyboard Warrior. - Confirm with Open Anyway and authenticate.
You only have to do this once.
Windows: first launch
Unzip the folder and run keyboardwarrior.exe. If SmartScreen shows “Windows
protected your PC,” click More info, then Run anyway. Keep the
bundled_songs folder beside the executable.
Linux
Unpack the archive and run ./keyboardwarrior. ALSA must be available
(libasound2 on Debian/Ubuntu). Keep bundled_songs beside the executable.
Bugs
Something broken? Open an issue
and include the version from the options screen and, if it is a specific song,
which one.
Keyboard Warrior 1.2.0
What's new in 1.2.0
User suggested features:
- Adjustable words module: Options now have control over height and opacity of the words module.
- CUSTOM highway speed setting lets you pick anywhere from 0.5x to 5x normal speed. setting is sticky.
- Highway options now feature a highway preview that updates in real time. press P to see a fullscreen preview.
- Layout support added for QWERTY, AZERTY, DVORAK, COLEMAK, QWERTZ in options.
- Fixed a bug where all keyboards would register notes as if they were QWERTY.
Also:
- Updated App icon to monogram and improved title font.
- Rebranded the old DFJK mode to TAP mode and removed the "words."
- Increased word pool.
Download
| Platform | File |
|---|---|
| macOS (Apple Silicon and Intel) | KeyboardWarrior-1.2.0-macOS-universal.zip |
| Windows (x86-64) | KeyboardWarrior-1.2.0-windows-x86_64.zip |
| Linux (x86-64) | KeyboardWarrior-1.2.0-linux-x86_64.tar.gz |
macOS: first launch
Keyboard Warrior is not code-signed, so macOS blocks it the first time.
- Move the app to Applications, then double-click it once. When macOS blocks
it, click Done. - Open System Settings → Privacy & Security, scroll to Security, and click
Open Anyway beside Keyboard Warrior. - Confirm with Open Anyway and authenticate.
You only have to do this once.
Windows: first launch
Unzip the folder and run keyboardwarrior.exe. If SmartScreen shows “Windows
protected your PC,” click More info, then Run anyway. Keep the
bundled_songs folder beside the executable.
Linux
Unpack the archive and run ./keyboardwarrior. ALSA must be available
(libasound2 on Debian/Ubuntu). Keep bundled_songs beside the executable.
Gameplay
Keyboard Warrior puts a spin on Guitar Hero-like rhythm games by assigning a letter to each note, forming words. Type the corresponding letter in rhythm to hit the note. SPACE unleashes your star power and SHIFT is your whammy bar.
- ENTER — start the selected song
- SHIFT + ENTER — practice mode: pick a start and end section, loop it,
and use LEFT / RIGHT to run it anywhere from 25% to 200% speed - S — cycle how the library is sorted (title, collection, artist, album,
decade, genre) - Hold SPACE — jump between category sections
- O — options
- ESC — pause
Calibrate your latency the first time you play (C → calibration). Every
display and audio setup has some delay, and the game can't judge your timing
fairly until it knows yours.
If you change your setup (switch to headphones, etc) C to recalibrate takes seconds.
Adding songs
Keyboard Warrior ships with a built-in bridge to Chorus Encore - Search and download community charts from right inside the app.
It reads the same standardized file formats as other popular music rhythm games, which means there's also tons of resources online for sourcing charts yourself. Drop either format into your songs folder:
- a
.sngfile - a song folder (
notes.mid/notes.chart,song.ini, and audio stems
as.opus/.ogg/.mp3/.wav)
Your songs live outside the app, so replacing it with a newer build never
touches your library:
| macOS | Windows | Linux | |
|---|---|---|---|
| Your songs | ~/Library/Application Support/keyboardwarrior/songs/ |
%APPDATA%\keyboardwarrior\songs\ |
~/.local/share/keyboardwarrior/songs/ |
| Settings and scores | ~/Library/Application Support/keyboardwarrior/ |
%APPDATA%\keyboardwarrior\ |
~/.config/keyboardwarrior/ |
Or point the app right at your existing library. Multiple directories supported at one time.
Bundled music
The songs that ship with the game are used under Creative Commons licenses,
with thanks to the artists and to the charters who built the note charts.
| Song | Artist | License | Chart |
|---|---|---|---|
| Code Monkey | Jonathan Coulton | CC BY-NC 3.0 | NoisyPuppet |
| Creepy Doll | Jonathan Coulton | CC BY-NC 3.0 | RockGamer |
| Re: Your Brains | Jonathan Coulton | CC BY-NC 3.0 | Harmonix |
| Dirtbag | Brad Sucks | CC BY-SA 3.0 | JRabes |
| Certain Death | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
| There's Something Wrong | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
Music by Jonathan Coulton and
Brad Sucks. Charts sourced from
Chorus Encore.
Terms
Free to download, play and share.
The full terms are in
LICENSE.md,
and the third-party open-source components the game is built on are listed in
THIRD-PARTY-NOTICES.md.
Bugs
Something broken?
Open an issue
— include the version from the options screen and, if it's a specific song,
which one.
If the game crashed, there's a log worth attaching.
| Path | |
|---|---|
| macOS | ~/Library/Application Support/keyboardwarrior/crash.log |
| Windows | %APPDATA%\keyboardwarrior\crash.log |
| Linux | ~/.config/keyboardwarrior/crash.log |
What changed between versions is in
CHANGELOG.md.
Keyboard Warrior 1.1.0
What's new in 1.1.0
- Ability to enable/disable song directories without deleting them from config
- Lots of visual enhancements in menus / score screen
- Fixed a bug in the browser demo that resulted in missed inputs
- Fixed: deleting a song now returns to correct slot in song list
- Fixed: the whammy ripple looked frozen at higher scroll speeds
- Losing an audio device mid-song now pauses and offers a retry instead of
ending the run - Settings and scores survive an interrupted or corrupted save
- Library rescans run in the background and keep your songs on screen
- Large internal rework of the codebase - no gameplay changes intended
Download
| Platform | File |
|---|---|
| macOS (Apple Silicon and Intel) | KeyboardWarrior-1.1.0-macOS-universal.zip |
| Windows (x86-64) | KeyboardWarrior-1.1.0-windows-x86_64.zip |
| Linux (x86-64) | KeyboardWarrior-1.1.0-linux-x86_64.tar.gz |
macOS: first launch
macOS will be annoying and refuse to open the app.
- Download the binary and stick it in your Applications folder.
- Double-click the app and macOS will block it. Click Done.
- Open System Settings → Privacy & Security, scroll to the Security
section, and click Open Anyway next to the message about Keyboard
Warrior. - Confirm with Open Anyway and authenticate.
You only have to do this once - after that it launches normally.
(On older macOS you could right-click → Open instead. Apple removed that
shortcut in macOS 15 Sequoia.)
Windows: first launch
Unzip the folder anywhere and run keyboardwarrior.exe. Keep the
bundled_songs folder next to it — that's where the game looks for the bundled music.
Windows Defender SmartScreen will show a blue "Windows protected your PC"
box. Click More info, then Run anyway. Once again, only the first time.
Linux
Unpack anywhere and run ./keyboardwarrior. You'll need ALSA available
(libasound2 on Debian/Ubuntu). Keep the bundled_songs folder next to the
binary.
(Thank you Linus)
Gameplay
Keyboard Warrior puts a spin on Guitar Hero-like rhythm games by assigning a letter to each note, forming words. Type the corresponding letter in rhythm to hit the note. SPACE unleashes your star power and SHIFT is your whammy bar.
- ENTER — start the selected song
- SHIFT + ENTER — practice mode: pick a start and end section, loop it,
and use LEFT / RIGHT to run it anywhere from 25% to 200% speed - S — cycle how the library is sorted (title, collection, artist, album,
decade, genre) - Hold SPACE — jump between category sections
- O — options
- ESC — pause
Calibrate your latency the first time you play (O → calibration). Every
display and audio setup has some delay, and the game can't judge your timing
fairly until it knows yours.
If you change your setup (switch to headphones, etc) O to recalibrate takes seconds.
Adding songs
Keyboard Warrior ships with a built-in bridge to Chorus Encore - Search and download community charts from right inside the app.
It reads the same standardized file formats as other popular music rhythm games, which means there's also tons of resources online for sourcing charts yourself. Drop either format into your songs folder:
- a
.sngfile - a song folder (
notes.mid/notes.chart,song.ini, and audio stems
as.opus/.ogg/.mp3/.wav)
Your songs live outside the app, so replacing it with a newer build never
touches your library:
| macOS | Windows | Linux | |
|---|---|---|---|
| Your songs | ~/Library/Application Support/keyboardwarrior/songs/ |
%APPDATA%\keyboardwarrior\songs\ |
~/.local/share/keyboardwarrior/songs/ |
| Settings and scores | ~/Library/Application Support/keyboardwarrior/ |
%APPDATA%\keyboardwarrior\ |
~/.config/keyboardwarrior/ |
Or point the app right at your existing library. Multiple directories supported at one time.
Bundled music
The songs that ship with the game are used under Creative Commons licenses,
with thanks to the artists and to the charters who built the note charts.
| Song | Artist | License | Chart |
|---|---|---|---|
| Code Monkey | Jonathan Coulton | CC BY-NC 3.0 | NoisyPuppet |
| Creepy Doll | Jonathan Coulton | CC BY-NC 3.0 | RockGamer |
| Re: Your Brains | Jonathan Coulton | CC BY-NC 3.0 | Harmonix |
| Dirtbag | Brad Sucks | CC BY-SA 3.0 | JRabes |
| Certain Death | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
| There's Something Wrong | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
Music by Jonathan Coulton and
Brad Sucks. Charts sourced from
Chorus Encore.
Terms
Free to download, play and share.
The full terms are in
LICENSE.md,
and the third-party open-source components the game is built on are listed in
THIRD-PARTY-NOTICES.md.
Bugs
Something broken?
Open an issue
— include the version from the options screen and, if it's a specific song,
which one.
If the game crashed, there's a log worth attaching.
| Path | |
|---|---|
| macOS | ~/Library/Application Support/keyboardwarrior/crash.log |
| Windows | %APPDATA%\keyboardwarrior\crash.log |
| Linux | ~/.config/keyboardwarrior/crash.log |
What changed between versions is in
CHANGELOG.md.
Keyboard Warrior 1.0.4
What's new in 1.0.4
- Updated CPAL to quiet a message on mac requesting mic permissions
- Toast message when a new version is available to download
- Auto pause game on focus loss
- Scores tracked in WASM demo
- High scores tracked per charter
- F1 menu includes more metrics
Download
| Platform | File |
|---|---|
| macOS (Apple Silicon and Intel) | KeyboardWarrior-1.0.4-macOS-universal.zip |
| Windows (x86-64) | KeyboardWarrior-1.0.4-windows-x86_64.zip |
| Linux (x86-64) | KeyboardWarrior-1.0.4-linux-x86_64.tar.gz |
macOS: first launch
macOS will be annoying and refuse to open the app.
- Download the binary and stick it in your Applications folder.
- Double-click the app and macOS will block it. Click Done.
- Open System Settings → Privacy & Security, scroll to the Security
section, and click Open Anyway next to the message about Keyboard
Warrior. - Confirm with Open Anyway and authenticate.
You only have to do this once - after that it launches normally.
(On older macOS you could right-click → Open instead. Apple removed that
shortcut in macOS 15 Sequoia.)
Windows: first launch
Unzip the folder anywhere and run keyboardwarrior.exe. Keep the
bundled_songs folder next to it — that's where the game looks for the bundled music.
Windows Defender SmartScreen will show a blue "Windows protected your PC"
box. Click More info, then Run anyway. Once again, only the first time.
Linux
Unpack anywhere and run ./keyboardwarrior. You'll need ALSA available
(libasound2 on Debian/Ubuntu). Keep the bundled_songs folder next to the
binary.
(Thank you Linus)
Gameplay
Keyboard Warrior puts a spin on Guitar Hero-like rhythm games by assigning a letter to each note, forming words. Type the corresponding letter in rhythm to hit the note. SPACE unleashes your star power and SHIFT is your whammy bar.
- ENTER — start the selected song
- SHIFT + ENTER — practice mode: pick a start and end section, loop it,
and use LEFT / RIGHT to run it anywhere from 25% to 200% speed - S — cycle how the library is sorted (title, collection, artist, album,
decade, genre) - Hold SPACE — jump between category sections
- O — options
- ESC — pause
Calibrate your latency the first time you play (O → calibration). Every
display and audio setup has some delay, and the game can't judge your timing
fairly until it knows yours.
If you change your setup (switch to headphones, etc) O to recalibrate takes seconds.
Adding songs
Keyboard Warrior ships with a built-in bridge to Chorus Encore - Search and download community charts from right inside the app.
It reads the same standardized file formats as other popular music rhythm games, which means there's also tons of resources online for sourcing charts yourself. Drop either format into your songs folder:
- a
.sngfile - a song folder (
notes.mid/notes.chart,song.ini, and audio stems
as.opus/.ogg/.mp3/.wav)
Your songs live outside the app, so replacing it with a newer build never
touches your library:
| macOS | Windows | Linux | |
|---|---|---|---|
| Your songs | ~/Library/Application Support/keyboardwarrior/songs/ |
%APPDATA%\keyboardwarrior\songs\ |
~/.local/share/keyboardwarrior/songs/ |
| Settings and scores | ~/Library/Application Support/keyboardwarrior/ |
%APPDATA%\keyboardwarrior\ |
~/.config/keyboardwarrior/ |
Or point the app right at your existing library. Multiple directories supported at one time.
Bundled music
The songs that ship with the game are used under Creative Commons licenses,
with thanks to the artists and to the charters who built the note charts.
| Song | Artist | License | Chart |
|---|---|---|---|
| Code Monkey | Jonathan Coulton | CC BY-NC 3.0 | NoisyPuppet |
| Creepy Doll | Jonathan Coulton | CC BY-NC 3.0 | RockGamer |
| Re: Your Brains | Jonathan Coulton | CC BY-NC 3.0 | Harmonix |
| Dirtbag | Brad Sucks | CC BY-SA 3.0 | JRabes |
| Certain Death | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
| There's Something Wrong | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
Music by Jonathan Coulton and
Brad Sucks. Charts sourced from
Chorus Encore.
Terms
Free to download, play and share.
The full terms are in
LICENSE.md,
and the third-party open-source components the game is built on are listed in
THIRD-PARTY-NOTICES.md.
Bugs
Something broken?
Open an issue
— include the version from the options screen and, if it's a specific song,
which one.
If the game crashed, there's a log worth attaching.
| Path | |
|---|---|
| macOS | ~/Library/Application Support/keyboardwarrior/crash.log |
| Windows | %APPDATA%\keyboardwarrior\crash.log |
| Linux | ~/.config/keyboardwarrior/crash.log |
What changed between versions is in
CHANGELOG.md.
Keyboard Warrior 1.0.3
What's new in 1.0.3
- Fixed a graphical quirk with note fill size
- Persistent settings in WASM demo using localStorage
- Scaffolding for creating gameplay trailers
Download
| Platform | File |
|---|---|
| macOS (Apple Silicon and Intel) | KeyboardWarrior-1.0.3-macOS-universal.zip |
| Windows (x86-64) | KeyboardWarrior-1.0.3-windows-x86_64.zip |
| Linux (x86-64) | KeyboardWarrior-1.0.3-linux-x86_64.tar.gz |
macOS: first launch
macOS will be annoying and refuse to open the app.
- Download the binary and stick it in your Applications folder.
- Double-click the app and macOS will block it. Click Done.
- Open System Settings → Privacy & Security, scroll to the Security
section, and click Open Anyway next to the message about Keyboard
Warrior. - Confirm with Open Anyway and authenticate.
You only have to do this once - after that it launches normally.
(On older macOS you could right-click → Open instead. Apple removed that
shortcut in macOS 15 Sequoia.)
Windows: first launch
Unzip the folder anywhere and run keyboardwarrior.exe. Keep the
bundled_songs folder next to it — that's where the game looks for the bundled music.
Windows Defender SmartScreen will show a blue "Windows protected your PC"
box. Click More info, then Run anyway. Once again, only the first time.
Linux
Unpack anywhere and run ./keyboardwarrior. You'll need ALSA available
(libasound2 on Debian/Ubuntu). Keep the bundled_songs folder next to the
binary.
(Thank you Linus)
Gameplay
Keyboard Warrior puts a spin on Guitar Hero-like rhythm games by assigning a letter to each note, forming words. Type the corresponding letter in rhythm to hit the note. SPACE unleashes your star power and SHIFT is your whammy bar.
- ENTER — start the selected song
- SHIFT + ENTER — practice mode: pick a start and end section, loop it,
and use LEFT / RIGHT to run it anywhere from 25% to 200% speed - S — cycle how the library is sorted (title, collection, artist, album,
decade, genre) - Hold SPACE — jump between category sections
- O — options
- ESC — pause
Calibrate your latency the first time you play (O → calibration). Every
display and audio setup has some delay, and the game can't judge your timing
fairly until it knows yours.
If you change your setup (switch to headphones, etc) O to recalibrate takes seconds.
Adding songs
Keyboard Warrior ships with a built-in bridge to Chorus Encore - Search and download community charts from right inside the app.
It reads the same standardized file formats as other popular music rhythm games, which means there's also tons of resources online for sourcing charts yourself. Drop either format into your songs folder:
- a
.sngfile - a song folder (
notes.mid/notes.chart,song.ini, and audio stems
as.opus/.ogg/.mp3/.wav)
Your songs live outside the app, so replacing it with a newer build never
touches your library:
| macOS | Windows | Linux | |
|---|---|---|---|
| Your songs | ~/Library/Application Support/keyboardwarrior/songs/ |
%APPDATA%\keyboardwarrior\songs\ |
~/.local/share/keyboardwarrior/songs/ |
| Settings and scores | ~/Library/Application Support/keyboardwarrior/ |
%APPDATA%\keyboardwarrior\ |
~/.config/keyboardwarrior/ |
Or point the app right at your existing library. Multiple directories supported at one time.
Bundled music
The songs that ship with the game are used under Creative Commons licenses,
with thanks to the artists and to the charters who built the note charts.
| Song | Artist | License | Chart |
|---|---|---|---|
| Code Monkey | Jonathan Coulton | CC BY-NC 3.0 | NoisyPuppet |
| Creepy Doll | Jonathan Coulton | CC BY-NC 3.0 | RockGamer |
| Re: Your Brains | Jonathan Coulton | CC BY-NC 3.0 | Harmonix |
| Dirtbag | Brad Sucks | CC BY-SA 3.0 | JRabes |
| Certain Death | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
| There's Something Wrong | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
Music by Jonathan Coulton and
Brad Sucks. Charts sourced from
Chorus Encore.
Terms
Free to download, play and share.
The full terms are in
LICENSE.md,
and the third-party open-source components the game is built on are listed in
THIRD-PARTY-NOTICES.md.
Bugs
Something broken?
Open an issue
— include the version from the options screen and, if it's a specific song,
which one.
If the game crashed, there's a log worth attaching.
| Path | |
|---|---|
| macOS | ~/Library/Application Support/keyboardwarrior/crash.log |
| Windows | %APPDATA%\keyboardwarrior\crash.log |
| Linux | ~/.config/keyboardwarrior/crash.log |
What changed between versions is in
CHANGELOG.md.
Keyboard Warrior 1.0.2
What's new in 1.0.2
Improved Latency calibration - less readings in the future
Also in this release:
- Performance overlay displays RAM and total footprint
- Miscellaneous browser demo optimizations
Download
| Platform | File |
|---|---|
| macOS (Apple Silicon and Intel) | KeyboardWarrior-1.0.2-macOS-universal.zip |
| Windows (x86-64) | KeyboardWarrior-1.0.2-windows-x86_64.zip |
| Linux (x86-64) | KeyboardWarrior-1.0.2-linux-x86_64.tar.gz |
macOS: first launch
macOS will be annoying and refuse to open the app.
- Download the binary and stick it in your Applications folder.
- Double-click the app and macOS will block it. Click Done.
- Open System Settings → Privacy & Security, scroll to the Security
section, and click Open Anyway next to the message about Keyboard
Warrior. - Confirm with Open Anyway and authenticate.
You only have to do this once - after that it launches normally.
(On older macOS you could right-click → Open instead. Apple removed that
shortcut in macOS 15 Sequoia.)
Windows: first launch
Unzip the folder anywhere and run keyboardwarrior.exe. Keep the
bundled_songs folder next to it — that's where the game looks for the bundled music.
Windows Defender SmartScreen will show a blue "Windows protected your PC"
box. Click More info, then Run anyway. Once again, only the first time.
Linux
Unpack anywhere and run ./keyboardwarrior. You'll need ALSA available
(libasound2 on Debian/Ubuntu). Keep the bundled_songs folder next to the
binary.
(Thank you Linus)
Gameplay
Keyboard Warrior puts a spin on Guitar Hero-like rhythm games by assigning a letter to each note, forming words. Type the corresponding letter in rhythm to hit the note. SPACE unleashes your star power and SHIFT is your whammy bar.
- ENTER — start the selected song
- SHIFT + ENTER — practice mode: pick a start and end section, loop it,
and use LEFT / RIGHT to run it anywhere from 25% to 200% speed - S — cycle how the library is sorted (title, collection, artist, album,
decade, genre) - Hold SPACE — jump between category sections
- O — options
- ESC — pause
Calibrate your latency the first time you play (O → calibration). Every
display and audio setup has some delay, and the game can't judge your timing
fairly until it knows yours.
If you change your setup (switch to headphones, etc) O to recalibrate takes seconds.
Adding songs
Keyboard Warrior ships with a built-in bridge to Chorus Encore - Search and download community charts from right inside the app.
It reads the same standardized file formats as other popular music rhythm games, which means there's also tons of resources online for sourcing charts yourself. Drop either format into your songs folder:
- a
.sngfile - a song folder (
notes.mid/notes.chart,song.ini, and audio stems
as.opus/.ogg/.mp3/.wav)
Your songs live outside the app, so replacing it with a newer build never
touches your library:
| macOS | Windows | Linux | |
|---|---|---|---|
| Your songs | ~/Library/Application Support/keyboardwarrior/songs/ |
%APPDATA%\keyboardwarrior\songs\ |
~/.local/share/keyboardwarrior/songs/ |
| Settings and scores | ~/Library/Application Support/keyboardwarrior/ |
%APPDATA%\keyboardwarrior\ |
~/.config/keyboardwarrior/ |
Or point the app right at your existing library. Multiple directories supported at one time.
Bundled music
The songs that ship with the game are used under Creative Commons licenses,
with thanks to the artists and to the charters who built the note charts.
| Song | Artist | License | Chart |
|---|---|---|---|
| Code Monkey | Jonathan Coulton | CC BY-NC 3.0 | NoisyPuppet |
| Creepy Doll | Jonathan Coulton | CC BY-NC 3.0 | RockGamer |
| Re: Your Brains | Jonathan Coulton | CC BY-NC 3.0 | Harmonix |
| Dirtbag | Brad Sucks | CC BY-SA 3.0 | JRabes |
| Certain Death | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
| There's Something Wrong | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
Music by Jonathan Coulton and
Brad Sucks. Charts sourced from
Chorus Encore.
Terms
Free to download, play and share.
The full terms are in
LICENSE.md,
and the third-party open-source components the game is built on are listed in
THIRD-PARTY-NOTICES.md.
Bugs
Something broken?
Open an issue
— include the version from the options screen and, if it's a specific song,
which one.
If the game crashed, there's a log worth attaching.
| Path | |
|---|---|
| macOS | ~/Library/Application Support/keyboardwarrior/crash.log |
| Windows | %APPDATA%\keyboardwarrior\crash.log |
| Linux | ~/.config/keyboardwarrior/crash.log |
What changed between versions is in
CHANGELOG.md.
Keyboard Warrior 1.0.1
Keyboard Warrior
A rhythm typing game built in Rust.
Copying off the homework of the wonderful projects Clone Hero and YARG.
Free, lightweight, and compatible with your existing chart library.
What's new in 1.0.1
Text generation is now handled by a small prerendered glyph atlas instead of being built at runtime for a couple reasons:
- 218 mb freed up from memory allocation
- ~30% less text jitter
- 32x less data pushed to GPU on startup
Download
| Platform | File |
|---|---|
| macOS (Apple Silicon and Intel) | KeyboardWarrior-1.0.1-macOS-universal.zip |
| Windows (x86-64) | KeyboardWarrior-1.0.1-windows-x86_64.zip |
| Linux (x86-64) | KeyboardWarrior-1.0.1-linux-x86_64.tar.gz |
macOS: first launch
macOS will be annoying and refuse to open the app.
- Download the binary and stick it in your Applications folder.
- Double-click the app and macOS will block it. Click Done.
- Open System Settings → Privacy & Security, scroll to the Security
section, and click Open Anyway next to the message about Keyboard
Warrior. - Confirm with Open Anyway and authenticate.
You only have to do this once - after that it launches normally.
(On older macOS you could right-click → Open instead. Apple removed that
shortcut in macOS 15 Sequoia.)
Windows: first launch
Unzip the folder anywhere and run keyboardwarrior.exe. Keep the
bundled_songs folder next to it — that's where the game looks for the bundled music.
Windows Defender SmartScreen will show a blue "Windows protected your PC"
box. Click More info, then Run anyway. Once again, only the first time.
Linux
Unpack anywhere and run ./keyboardwarrior. You'll need ALSA available
(libasound2 on Debian/Ubuntu). Keep the bundled_songs folder next to the
binary.
(Thank you Linus)
Gameplay
Keyboard Warrior puts a spin on Guitar Hero-like rhythm games by assigning a letter to each note, forming words. Type the corresponding letter in rhythm to hit the note. SPACE unleashes your star power and SHIFT is your whammy bar.
- ENTER — start the selected song
- SHIFT + ENTER — practice mode: pick a start and end section, loop it,
and use LEFT / RIGHT to run it anywhere from 25% to 200% speed - S — cycle how the library is sorted (title, collection, artist, album,
decade, genre) - Hold SPACE — jump between category sections
- O — options
- ESC — pause
Calibrate your latency the first time you play (O → calibration). Every
display and audio setup has some delay, and the game can't judge your timing
fairly until it knows yours.
If you change your setup (switch to headphones, etc) O to recalibrate takes seconds.
Adding songs
Keyboard Warrior ships with a built-in bridge to Chorus Encore - Search and download community charts from right inside the app.
It reads the same standardized file formats as other popular music rhythm games, which means there's also tons of resources online for sourcing charts yourself. Drop either format into your songs folder:
- a
.sngfile - a song folder (
notes.mid/notes.chart,song.ini, and audio stems
as.opus/.ogg/.mp3/.wav)
Your songs live outside the app, so replacing it with a newer build never
touches your library:
| macOS | Windows | Linux | |
|---|---|---|---|
| Your songs | ~/Library/Application Support/keyboardwarrior/songs/ |
%APPDATA%\keyboardwarrior\songs\ |
~/.local/share/keyboardwarrior/songs/ |
| Settings and scores | ~/Library/Application Support/keyboardwarrior/ |
%APPDATA%\keyboardwarrior\ |
~/.config/keyboardwarrior/ |
Or point the app right at your existing library. Multiple directories supported at one time.
Bundled music
The songs that ship with the game are used under Creative Commons licenses,
with thanks to the artists and to the charters who built the note charts.
| Song | Artist | License | Chart |
|---|---|---|---|
| Code Monkey | Jonathan Coulton | CC BY-NC 3.0 | NoisyPuppet |
| Creepy Doll | Jonathan Coulton | CC BY-NC 3.0 | RockGamer |
| Re: Your Brains | Jonathan Coulton | CC BY-NC 3.0 | Harmonix |
| Dirtbag | Brad Sucks | CC BY-SA 3.0 | JRabes |
| Certain Death | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
| There's Something Wrong | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
Music by Jonathan Coulton and
Brad Sucks. Charts sourced from
Chorus Encore.
Terms
Free to download, play and share.
The full terms are in
LICENSE.md,
and the third-party open-source components the game is built on are listed in
THIRD-PARTY-NOTICES.md.
Bugs
Something broken?
Open an issue
— include the version from the options screen and, if it's a specific song,
which one.
If the game crashed, there's a log worth attaching.
| Path | |
|---|---|
| macOS | ~/Library/Application Support/keyboardwarrior/crash.log |
| Windows | %APPDATA%\keyboardwarrior\crash.log |
| Linux | ~/.config/keyboardwarrior/crash.log |
What changed between versions is in
CHANGELOG.md.
Keyboard Warrior 1.0.0
Keyboard Warrior
A rhythm typing game built in Rust.
Copying off the homework of the wonderful projects Clone Hero and YARG.
Free, lightweight, and compatible with your existing chart library.
Download
| Platform | File |
|---|---|
| macOS (Apple Silicon and Intel) | KeyboardWarrior-1.0.0-macOS-universal.zip |
| Windows (x86-64) | KeyboardWarrior-1.0.0-windows-x86_64.zip |
| Linux (x86-64) | KeyboardWarrior-1.0.0-linux-x86_64.tar.gz |
macOS: first launch
macOS will be annoying and refuse to open the app.
- Download the binary and stick it in your Applications folder.
- Double-click the app and macOS will block it. Click Done.
- Open System Settings → Privacy & Security, scroll to the Security
section, and click Open Anyway next to the message about Keyboard
Warrior. - Confirm with Open Anyway and authenticate.
You only have to do this once - after that it launches normally.
(On older macOS you could right-click → Open instead. Apple removed that
shortcut in macOS 15 Sequoia.)
Windows: first launch
Unzip the folder anywhere and run keyboardwarrior.exe. Keep the
bundled_songs folder next to it — that's where the game looks for the bundled music.
Windows Defender SmartScreen will show a blue "Windows protected your PC"
box. Click More info, then Run anyway. Once again, only the first time.
Linux
Unpack anywhere and run ./keyboardwarrior. You'll need ALSA available
(libasound2 on Debian/Ubuntu). Keep the bundled_songs folder next to the
binary.
(Thank you Linus)
Gameplay
Keyboard Warrior puts a spin on Guitar Hero-like rhythm games by assigning a letter to each note, forming words. Type the corresponding letter in rhythm to hit the note. SPACE unleashes your star power and SHIFT is your whammy bar.
- ENTER — start the selected song
- SHIFT + ENTER — practice mode: pick a start and end section, loop it,
and use LEFT / RIGHT to run it anywhere from 25% to 200% speed - S — cycle how the library is sorted (title, collection, artist, album,
decade, genre) - Hold SPACE — jump between category sections
- O — options
- ESC — pause
Calibrate your latency the first time you play (O → calibration). Every
display and audio setup has some delay, and the game can't judge your timing
fairly until it knows yours.
If you change your setup (switch to headphones, etc) O to recalibrate takes seconds.
Adding songs
Keyboard Warrior ships with a built-in bridge to Chorus Encore - Search and download community charts from right inside the app.
It reads the same standardized file formats as other popular music rhythm games, which means there's also tons of resources online for sourcing charts yourself. Drop either format into your songs folder:
- a
.sngfile - a song folder (
notes.mid/notes.chart,song.ini, and audio stems
as.opus/.ogg/.mp3/.wav)
Keyboard Warrior also ships with a built-in bridge to Chorus Encore - Search and download community charts from right inside the app.
Your songs live outside the app, so replacing it with a newer build never
touches your library:
| macOS | Windows | Linux | |
|---|---|---|---|
| Your songs | ~/Library/Application Support/keyboardwarrior/songs/ |
%APPDATA%\keyboardwarrior\songs\ |
~/.local/share/keyboardwarrior/songs/ |
| Settings and scores | ~/Library/Application Support/keyboardwarrior/ |
%APPDATA%\keyboardwarrior\ |
~/.config/keyboardwarrior/ |
Or point the app right at your existing library. Multiple directories supported at one time.
Bundled music
The songs that ship with the game are used under Creative Commons licenses,
with thanks to the artists and to the charters who built the note charts.
| Song | Artist | License | Chart |
|---|---|---|---|
| Code Monkey | Jonathan Coulton | CC BY-NC 3.0 | NoisyPuppet |
| Creepy Doll | Jonathan Coulton | CC BY-NC 3.0 | RockGamer |
| Re: Your Brains | Jonathan Coulton | CC BY-NC 3.0 | Harmonix |
| Dirtbag | Brad Sucks | CC BY-SA 3.0 | JRabes |
| Certain Death | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
| There's Something Wrong | Brad Sucks | CC BY-SA 3.0 | MB1Nightmare & Greninjo |
Music by Jonathan Coulton and
Brad Sucks. Charts sourced from
Chorus Encore.
Terms
Free to download, play and share.
The full terms are in
LICENSE.md,
and the third-party open-source components the game is built on are listed in
THIRD-PARTY-NOTICES.md.
Bugs
Something broken?
Open an issue
— include the version from the options screen and, if it's a specific song,
which one.
If the game crashed, there's a log worth attaching.
| Path | |
|---|---|
| macOS | ~/Library/Application Support/keyboardwarrior/crash.log |
| Windows | %APPDATA%\keyboardwarrior\crash.log |
| Linux | ~/.config/keyboardwarrior/crash.log |
What changed between versions is in
CHANGELOG.md.