Free software · GPL-3.0 · Linux, Windows, macOS

Free software for your Attack Shark.
And 500 other keyboards.

Remap keys on a picture of your board. Set the RGB and watch it change live. Paint per-key patterns, record macros, back everything up to a file. One app for 523 keyboards built on ROYUAN hardware: Attack Shark, Akko, Epomaker, MonsGeek, Ajazz, Hator, ikbc and more.

The browser version needs Chrome, Edge or another Chromium browser, and a USB cable. Nothing to install, though Linux needs a one-line udev rule. Once the page has loaded it makes no network requests at all: your keymap, your macros and your colours never leave the machine, because there is nowhere for them to go. No account, no cloud, no analytics. Alpha software: export a backup before you rearrange things. There is a button for that too.

sharkfin keymap editor showing an Attack Shark X86 drawn key by key, in the Abyss colorway sharkfin keymap editor showing an Attack Shark X86 drawn key by key, in the Olivia colorway sharkfin keymap editor showing an Attack Shark X86 drawn key by key, in the Laser colorway sharkfin keymap editor showing an Attack Shark X86 drawn key by key, in the Botanical colorway sharkfin keymap editor showing an Attack Shark X86 drawn key by key, in the 8008 colorway
523boards supported
18lighting effects
50macro slots
3onboard profiles
0telemetry

Everything the board can do, in one place

Keys

Remap any key by clicking it on a picture of your board, then choosing what it should do: another key, a mouse button, cursor movement, the scroll wheel. Base and Fn layers, combos, and the knob. Writes land on the keyboard immediately.

Lighting

18 effects with direction options, full RGB, brightness and speed, live as you drag the sliders. Edge-light controls appear on boards that have edge LEDs.

Paint

Colour individual keys, then send the pattern to the board. Sending is manual and rate-limited because the pattern goes into the keyboard's flash.

Macros

Record key and mouse sequences with per-event delays into the 50 onboard slots. Bind a key to one, on either layer: repeat, toggle, or while held. A mouse-key helper does the setup, so holding a key moves the cursor.

Device

Debounce, Windows-key lock, WASD and arrow swap, backlight off, host-OS auto-detect, sleep timeouts, factory reset. The settings the manual mentions and a few it forgot.

Backup

Export everything to a file and restore it later. Three profiles live on the board itself, so your config travels with the keyboard, not the computer.

sharkfin lighting page in the Olivia colorway: 18 effects, color swatches, brightness and speed sliders
The Lighting page, wearing the Olivia colorway. The app re-skins like a keycap set swap: Abyss, Olivia, Laser, Botanical, 8008. So does this page. Try the dots in the top corner.

523 boards. Is yours one?

sharkfin talks to keyboards built on ROYUAN hardware. Most report USB vendor ID 3151; some ship under their brand's own. That covers most of the Attack Shark lineup, including the X86, X85, X68, X65, K86, R85 and the HE models, plus boards sold under all of these names:

Total boards in the registry523
Accept changes519
Drawn key-by-key layout463

No drawn layout for your board yet? It still works. You get a slot grid instead of a picture, and you can send the layout in from the app's Contribute tab.

Browse all 523 supported keyboards

Looking for the vendor's driver download?

You were about to download a separate driver for each model, for one operating system. There is another way to do this.

sharkfinvendor driver
Installnone, it runs in the browseran executable per model
Operating systemsLinux, Windows, macOSWindows
Coverage523 boards, one appone download per model
Source codepublic, GPL-3.0closed
Account or cloudnonevaries by vendor
Phones homenever, zero network requestsvaries by vendor
Pricefreefree

It never touches firmware

  • sharkfin writes settings, not firmware. There is no flashing and no update mechanism, so there is nothing to brick.
  • The browser version runs entirely on your machine. The page is static HTML, and after it loads it makes no network requests: no analytics, no beacon, no config upload, no accounts. It talks to the keyboard over the USB cable and to nothing else. Load it once and you can turn off your network and keep working, or check for yourself in the browser's network tab.
  • The page cannot read what you type. The browser hands it only the keyboard's settings channel and withholds the keyboard's own input collections, so keystrokes are never visible to it, by construction rather than by promise.
  • Writes only go to boards whose protocol family is known. Unknown boards are read-only until they are identified.
  • Configure over a USB cable. There is no config channel on 2.4 GHz or Bluetooth. Settings live on the board, so wireless works as usual afterwards.
  • If the board ever stops answering: close the app, unplug for ten seconds, plug back in. Typing keeps working the whole time. Fn + Esc held three seconds resets the board's settings.

Questions

Is my keyboard supported?

Plug it in and sharkfin will tell you. Most of these boards report USB vendor ID 3151, some report their brand’s own; sharkfin looks for all of them. The board list has 523 entries, one page per model. Not sure? Plug it in and sharkfin will tell you what it sees.

Is there Attack Shark software for Mac or Linux?

This is it. Same app on Linux, Windows and macOS.

I'm on Linux. Do I need a udev rule?

Probably, for both the browser version and the app. Linux keeps a keyboard's raw device node owned by root, so nothing you run as yourself can open it until a rule hands it over. If you already configure keyboards on this machine you may have one from VIA, Vial or a vendor package, in which case it just works. If not, paste this into a terminal and replug the keyboard:

echo 'SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3151|379a|374a|38a9|046a|2ea8|145f", MODE="0660", TAG+="uaccess"' \
  | sudo tee /etc/udev/rules.d/70-sharkfin.rules >/dev/null \
  && sudo udevadm control --reload-rules && sudo udevadm trigger
Writes one rule file and reloads udev. Nothing else.

Everything it does is visible in the line itself, which is why it is not a script to download and pipe into a shell. sharkfin shows you the same command, ready to copy, if it finds a keyboard it cannot open.

Do I need a cable?

Yes, for configuring. There is no config channel over 2.4 GHz or Bluetooth. Settings are stored on the keyboard, so everything keeps working wirelessly once you unplug.

Can it brick my keyboard?

It never flashes firmware, so no. The worst known failure is the board ignoring USB until you replug it: close the app, unplug for ten seconds, plug back in. Typing keeps working the whole time.

Is my keyboard VIA or QMK compatible?

No, and that is why sharkfin exists. These boards run ROYUAN's own firmware, which does not speak the QMK or VIA protocol, so VIA will not see your keyboard and there is no QMK build for it. sharkfin talks to the firmware the board already has, and never replaces it.

Does it work on Windows 11?

Yes, and on Windows 10, macOS and Linux. There is also the browser version, which needs no install at all.

What does it cost?

Nothing. Free software, GPL-3.0-or-later. If someone charged you for it, ask for your money back.

Does the browser version send my data anywhere?

No. It is a static page that makes no network requests once it has loaded, and there is no server to send anything to. Your keymap, macros and colours live on the keyboard and on your machine. There is no analytics script on this site either: open the network tab and watch it stay empty.

Can I use it offline?

Yes. Load the page once, then disconnect from the network; it keeps working, because everything it does happens between the browser and the USB cable. Or use the desktop app, which is a single offline binary.

Is this made by Attack Shark?

No. Community project. Not affiliated with Attack Shark, ROYUAN or any keyboard vendor.

Found a bug, or a board that acts weird?

The app's Contribute tab collects a read-only data bundle you can paste into a GitHub issue. Board reports start the same way.

Your keyboard already speaks the language.

Plug in a cable and say hello.