qmk_firmware/keyboards
Jacob Jerrell 444def8411 Keymap: Bocaj - Create Userspace and Ergodox Layout (#3750)
* Bocaj Layout Revamp

* Pull in Upstream (#1)

* Various tweaks for some Input:Club build processes

* change KEYMAP to LAYOUT for all new keyboards made using this script

* Add support for rev3 of the Atom47 (#2672)

* Added support for rev3 of the Atom47

* Updated Atom47 readme's

* Fix redefine error on rev2 and add maartenwut's keymap

* Fix redefine error on LEdiodes keymap

* Add Nyquist keymap (#2692)

* nyquist

* danielhklein nyquist setup

* shift left controls

* remove readme

* cleanup before pr

* ready for pr

* Adds Phantom TKL support (#2696)

* Add an info.json to phantom keyboard

* Add layouts

 - KEYMAP_WINKEYLESS
 - KEYMAP_7BIT
 - KEYMAP_ISO
 - KEYMAP_ISO_WINKEYLESS

* Add key_counts

* Add 2 missing F-Row keys

* Add TKC1800 info.json

Created an info.json for the tkc1800.

* Clueboard 60 info.json

 - adds
   - LAYOUT_60_ansi
   - LAYOUT_60_iso
   - KEYMAP_AEK
   - KEYMAP
   - LAYOUT_60_ansi_split_bs_rshift

* Add the Speedo keyboard

* Fix KC60 info.json file (#2707)

* change KEYMAP to LAYOUT in all the KC60 files

* Redo the info.json file

* Small fixes to TKC1800

 - adjust F-row to use 0.25 spacing
 - split left shift
 - add key_count

* Fix some Configurator Warnings regarding LAYOUT vs KEYMAP (#2708)

* change diverge 3 KC_KEYMAP to LAYOUT

* Change KEYMAP to LAYOUT for handwired arrow pad

* change M10A to LAYOUT for m10-a

* Change KC_KEYMAP to LAYOUT_kc and KEYMAP to LAYOUT for mf68

* change KC_KEYMAP to LAYOUT for nano

* Refactor to LAYOUT

* refactor to LAYOUT-ansi and LAYOUT_iso for s65

* LAYOUT conversions for lfkkeyboards

* missed a few renames

* mini1800 for lfkeyobards support of LAYOUT

* Improve state/chord handling and clean up namespace

Some values that can never, ever, change were held in local
variables, rather than in PROGMEM. Fixed.

Change "pressed" to a signed int so the test for < 0 makes
sense, and to avoid possible weird failure modes in the
case where a key release comes in when pressed is already
zero. (Shouldn't happen, sure, but computers are weird.)

A lot of things in process_steno had external linkage for no
particular reason. They've been marked static. Stuff still
builds.

Distinguish between currently-held keys and keys that have
been held, and expose these values through a nicely-named API
so other code could, say, check on the current set of steno
chording in order to make displays. Also in passing fix up the
"state" value having external linkage so it could clash with
other people's variable declarations.

The API also provides hooks for key processing and steno chord
events, so you can monitor those events without having to
run in matrix_scan_user and recheck the values directly. Also
document these.

There is no path through processing a key that doesn't
end with a return false, so the nested return foo() are
gone and we just return false.

* Pull information from config.h and rules.mk (#2711)

* Pull information from config.h and rules.mk

* Readd the kbd75 maintainer

* Remove obsolete info.json entries (#2712)

* Clean up some long-standing errors when populating the API (#2715)

* More Configurator Warning Fixes (#2716)

* mf68_ble did not have the correct .c and .h files

* Fix JC65 KEYMAP to LAYOUT

* Change KEYMAP to LAYOUT for s60_x

* Convert KEYMAP to LAYOUT for lets_split boards

* Convert KEYMAP to LAYOUT

* more fixes to keymap for iris

* convert KEYMAP to LAYOUT for levinson keyboard

* change losinggeneration's KEYMAP to LAYOUT

* convert KEYMAP to LAYOUT

* convert KEYMAP to LAYOUT for nyquist

* convert KEYMAP to LAYOUT

* convert KEYMAP to LAYOUT for viterbi

* convert KEYMAP to LAYOUT

* convert KEYMAP and its subsidiries to the LAYOUT standard

* convert KEYMAP and its subsidiries to the new LAYOUT standard

* Normacos keymap for let's split keyboard (#2691)

* Cheers let's split keymap

* fixed typo on norman layer of cheers keymap for let's split

* fixed right handed mappings for home row

* cheers keymap for let's split redefinition

* updated Cheers keymap for let's split

* cheers keymap for let's split updated with some terminal macros

* renamed cheers let's split keymap to a more appropriate normacos

* updated normacos keymap doc / removed non functional keys

* reset let's split rules to default values

* added more spotlight search macros

* normalized keymap comments

* Moved numpad on lower layer

* hhkb jp personal keymap (#2698)

* Add JJ40 Cockpit personal keymap (#2713)

* Add JJ40 Cockpit keymap

* Fix lower layer symbols

* Add readme for "major" keyboards to eliminate more QMK Configurator errors (#2718)

* add readme to ktype keyboard

* add readme to m10a

* add readme to mini1800

* add readme to parent directory

* Revert "Pull in Upstream (#1)"

This reverts commit eeba0cec17ccb636e4225eed88aeae72b99f5e45.

* Updates to Bocaj Files

- Gave up on Tap Dance for ' -> '
+ Added another 'Secret'
+ Add ' -> ' to the Swap Hands key
+ Add Swap Hands to the ' -> ' key
+ Made Hand Swapping a momentary toggle
- Removed Auto Shift
+ Added Layer Toggle to KC_QUOTE for the _TOOLS layer
- Disabled Tap Dance

* Merge remote-tracking branch 'upstream/master'

* Updates to Bocaj

Added Game Layers, Removed Unused Macros

* Removed 'secrets.h'

* Updates to Bocaj

Remove 'secrets'.
Remove 'sendstring_workman.h' and set related layer back to qwerty due to macro compatibility issues

* Total revisioning of keymap and layout structure

* Missed readme.md file

* Bocaj - Permissive Hold setting enabled

* Switching from ErgoDox EZ centric configuration to the layout/user approach

* Bocaj - Create Userspace and Ergodox layout

* Update settings.json
2018-08-28 16:48:41 -07:00
..
1upkeyboards Keyboard: Make a 1upkeyboards directory for visibility (#3759) 2018-08-26 09:30:12 -07:00
4x4 Keyboard: 4x4 modular keyboard (#3531) 2018-08-02 13:48:39 -07:00
5x5 Keyboard: add 5x5 board support (#3694) 2018-08-19 13:18:19 -07:00
6ball
9key
acr60
al1 Keyboard: AL1 Configurator fix: misplaced arrow keys (#3716) 2018-08-22 08:59:00 -07:00
alf_x2 Keyboard: Alf X2 matrix fix (#3704) 2018-08-21 08:41:12 -07:00
alpha Keymap: PyroL Let's Split keymap + Alpha keymap modifications (#3753) 2018-08-25 17:11:53 -07:00
alps64
alu84
amj40
amj60 Keyboard: AMJ60 LAYOUT_iso matrix fix (#3705) 2018-08-21 08:41:40 -07:00
amj96 Keyboard: AMJ96 Refactor and Configurator update (#3707) 2018-08-22 08:58:12 -07:00
amjpad Keyboard: Configurator render fix for AMJPad (#3706) 2018-08-21 08:42:18 -07:00
atom47
atomic
atreus Keyboard: Support PCBDOWN variants for Atreus keyboard (#3735) 2018-08-24 08:53:03 -07:00
atreus62
bananasplit
bantam44
bface Keymap: Added personal keymap for bface (#3719) 2018-08-21 19:07:18 -07:00
bfake Update ps2avrgb readme (#3599) 2018-08-09 17:45:43 -07:00
bfo9000 Updated keymap 'Andylikescandy' bfo9000 (#3413) 2018-07-15 21:16:53 -07:00
bigseries Keyboard: Fix Configurator rendering for Big Series 2-, 3-, and 4-key boards (#3698) 2018-08-19 19:33:49 -07:00
bigswitch
blockey Keyboard: Blockey refactor (#3722) 2018-08-22 09:00:40 -07:00
bmini Update ps2avrgb readme (#3599) 2018-08-09 17:45:43 -07:00
canoe Update ps2avrgb readme (#3599) 2018-08-09 17:45:43 -07:00
catch22 Keymap: Update cache22 default keymap (#3597) 2018-08-09 17:50:09 -07:00
chibios_test
chimera_ergo
chimera_ls
chimera_ortho
chocopad keymap: Update khord let's split keymap and add chocopad keymap (#3482) 2018-07-25 08:30:17 -07:00
christmas_tree
ckeys Keyboard: Ckeys refactor (#3681) 2018-08-17 16:12:22 -07:00
clueboard Add configurator support for 66_ansi layout for rev1, 2 and 3 2018-08-15 13:53:28 -07:00
cod67
comet46
contra Keymap: Added deastiny layout for contra [based on dvorak type II] (#3673) 2018-08-19 12:30:28 -07:00
converter add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
cospad Keyboard: Added gamepad layout to cospad (#3714) 2018-08-25 10:35:24 -07:00
crawlpad
crkbd Keyboard: Partial refactor of the crkbd code (#3600) 2018-08-22 09:51:37 -07:00
cu24
cu75
daisy
dc01 Keyboard: Fix UTF-8 encoding for DC01 Numpad info.json (#3462) 2018-07-21 15:35:57 -07:00
dc60 Keyboard: DC60 Support (#3667) 2018-08-16 09:06:19 -07:00
deltasplit75
dichotemy
dilly
diverge3
dk60
do60
duck Keyboard: Putting all my ducks in a row: Lightsaver (#3758) 2018-08-26 09:30:49 -07:00
dz60 Keymap: Adding stephengrier keymap for the DZ60 PCB (#3700) 2018-08-21 08:38:26 -07:00
e6v2 Keyboard: E6V2 Layout Fix (#3490) 2018-07-25 20:12:15 -07:00
eagle_viper Keyboard: Eagle/Viper V2 refactor and Configurator update (#3671) 2018-08-16 08:54:17 -07:00
eco
ergo42 Keyboard: Update Ergo42 default keymap (#3686) 2018-08-19 12:53:41 -07:00
ergodash
ergodone Keymap: Custom L0 layout for ergodone (#3591) 2018-08-09 18:09:43 -07:00
ergodox_ez Keymap: Bocaj - Create Userspace and Ergodox Layout (#3750) 2018-08-28 16:48:41 -07:00
ergodox_infinity
ergoinu Keyboard: add ergoinu keyboard (#3655) 2018-08-16 08:36:35 -07:00
ergotravel
facew add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
fc660c
fc980c
felix
fleuron Keyboard: Adds Fleuron v1.0 keyboard (#3571) 2018-08-07 17:47:49 -07:00
fortitude60
four_banger
fourier Keymap: jennetters fourier split 40% keymap (#3487) 2018-07-26 14:30:01 -07:00
fractal Keyboard: Added support for the Fractal keyboard (#3457) 2018-07-21 12:14:32 -07:00
frosty_flake
gh60
gh80_3000
gherkin Keymap: Wanleg userspace (#3670) 2018-08-17 16:11:21 -07:00
gonnerd
h87a Keyboard: make sure LAYOUT macro names match in info.json and h87a.h (#3550) 2018-08-02 14:41:20 -07:00
hadron
handwired add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
helix Keymap: Helix : Update froggy keymap (#3652) 2018-08-15 09:30:34 -07:00
hhkb Added E6v2 keymap & some minor changes (#3392) 2018-07-13 08:03:57 -07:00
hid_liber Keyboard: Add support for bpiphany's HID Liberation Device (#3470) 2018-07-30 23:37:34 -07:00
hs60
infinity60 add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
iris fix line endings 2018-08-16 08:38:42 -07:00
jc65 Keyboard: Hide JC65 directory in QMK Configurator (#3491) 2018-07-26 14:32:02 -07:00
jd40 add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
jd45 add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
jj40 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
jj50 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
jm60 add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
k_type
katana60
kbd6x Keyboard: Disable mouse keys for kbd6x (#3603) 2018-08-09 18:03:34 -07:00
kbd8x Fixed kbd8x compile issues (#3409) 2018-07-15 11:21:26 -07:00
kbd66
kbd75 Keymap: Spaceman Spiff layout for KBD75 (#3595) 2018-08-09 17:53:13 -07:00
kc60
kc60se Keyboard: Configurator fix: KC60SE info.json, LAYOUT matrix (#3463) 2018-07-22 06:58:32 -07:00
kinesis Keymap: Added my keymap for Rorschach keyboard; minor updates to my Kinesis files. (#3734) 2018-08-25 09:29:43 -07:00
kira75
kitten_paw
kmac
kmini
knops
kona_classic Keyboard: Fix character encoding for kona_classic's info.json (#3473) 2018-07-23 12:02:45 -07:00
laplace
launchpad
lets_split Keymap: PyroL Let's Split keymap + Alpha keymap modifications (#3753) 2018-08-25 17:11:53 -07:00
lets_split_eh Userspace update for user bbaserdem (#3443) 2018-07-18 20:17:55 -07:00
levinson Keyboard: Refactor Levinson to use split common code (#3639) 2018-08-13 12:05:58 -07:00
lfkeyboards Keyboard: Corrected LFK65_HS LAYOUT_all matrix (#3703) 2018-08-21 08:40:25 -07:00
m10a
maxipad
mechmini
meira Keyboard: add Telophase board (and Graham's keymaps) (#3244) 2018-08-19 13:29:11 -07:00
melody96 Configurator does not work with melody96 leds (#3396) 2018-07-14 13:26:10 -07:00
meme
mf68
mf68_ble
minidox add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
mint60 add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
mitosis mitosis: minor readme improvements (#3762) 2018-08-26 12:00:22 -07:00
miuni32
mt40
mxss
nano
niu_mini Keyboard: NIU Mini refactor and Configurator update (#3433) 2018-07-18 08:02:52 -07:00
novelpad
noxary Keyboard: Noxary 268 refactor and Configurator update (#3426) 2018-07-17 08:19:40 -07:00
nyquist Keymap: Adds zen layout for 333fred (#3563) 2018-08-05 08:42:16 -07:00
octagon Introduce new 75_ansi standard layout (#3738) 2018-08-24 08:54:16 -07:00
ok60 Keyboard: Added layout LAYOUT_60_ansi_split_bksp_rshift to ok60 (#3644) 2018-08-15 09:28:47 -07:00
omnikey_blackheart
org60
orthodox Update to drashna userspace and keymaps (#3172) 2018-07-16 21:04:32 -04:00
paladin64
pearl Keyboard: Pearl keyboard LAYOUT_spacebar had an undefined constant K34 (#3633) 2018-08-12 09:33:04 -07:00
pegasushoof add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
phantom add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
planck Fixes STM32F303XC timer issue for Planck Rev 6 (#3777) 2018-08-27 17:10:22 -04:00
playkbtw Keyboard: readme.md update (#3581) 2018-08-25 09:26:24 -07:00
preonic rename MIT to 1x2uC for preonic 2018-07-20 23:09:25 -04:00
prime_r
ps2avrGB [WIP] Added support for the b.face keyboard (#2493) 2018-08-19 19:32:35 -07:00
quefrency Keyboard: Migrate Quefrency to use split common files (#3642) 2018-08-15 09:27:34 -07:00
qwertyydox Keyboard: Add QWERTYYdox keyboard (#3636) 2018-08-19 13:23:13 -07:00
rama Added M10-B implementation 2018-07-15 12:50:36 -04:00
redox add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
roadkit add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
rorschach Keymap: Added my keymap for Rorschach keyboard; minor updates to my Kinesis files. (#3734) 2018-08-25 09:29:43 -07:00
s60_x add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
s65_plus Keyboard: adding Sentraq S65-Plus (#3406) 2018-07-20 09:01:35 -07:00
s65_x
satan Keymap: Spaceman Spiff layout for the GH60 Satan (#3596) 2018-08-09 17:52:35 -07:00
scrabblepad add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
singa add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
sixkeyboard
sixshooter Keyboard: Six Shooter Keyboard (#3598) 2018-08-11 13:23:11 -07:00
speedo
staryu ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
subatomic
sx60 add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
tada68 Keyboard: Fix tada68 Linux readme (#3717) 2018-08-21 19:08:17 -07:00
tanuki
telophase Keyboard: add Telophase board (and Graham's keymaps) (#3244) 2018-08-19 13:29:11 -07:00
tetris
the_ruler add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
tiger_lily
tkc1800 Keymap: Add smt keymap for TKC1800 (#3481) 2018-07-25 08:28:06 -07:00
tokyo60 Keyboard: Change the default LAYOUT to LAYOUT_60_hhkb for tokyo60 (#3751) 2018-08-25 13:20:18 -07:00
tomato
tv44 add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
uk78 UK78 Refactor: rename LAYOUT to LAYOUT_all (#3405) 2018-07-14 15:18:54 -07:00
unloved_bastard
ut47 Keyboard: UT47 Configurator support and readme cleanup (#3708) 2018-08-21 08:45:42 -07:00
v60_type_r add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
vision_division add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
vitamins_included Keyboard: Document the correct path to the let's split EEPROM files. (#3539) 2018-08-02 13:52:24 -07:00
viterbi Keyboard: add generic ortho 5x14 layout support to Viterbi (#3658) 2018-08-15 15:34:25 -07:00
wavelet Keyboard: add Wavelet (#3739) 2018-08-25 08:46:42 -07:00
whitefox Keymaps: Add whitefox constexpr keymap (#3541) 2018-08-01 20:04:20 -07:00
xd60 add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
xd75 Keymap: XD75 keymap (#3553) 2018-08-05 08:55:17 -07:00
xmmx
ymd75 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
ymd96 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
ymdk_np21 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
zen Keymap: Update 333fred's keymap for Zen (#3690) 2018-08-20 09:45:15 -07:00
zlant
readme.md

Included Keyboards

QMK runs on a diverse range of keyboards. Some of these keyboards are officially supported and see constant community contributions, while others are part of the repository for historical reasons.

Official QMK Keyboards

These keyboards are manufactured by the maintainers of QMK.

Ortholinear Keyboards - Jack Humbert

What makes OLKB keyboards shine is a combo of lean aesthetics, compact size, and killer tactile feel. These are available through olkb.com as well as through Massdrop from time to time, as easy to assemble kits.

  • Planck — A 40% DIY powerhouse of customizability and modification capability. It's a lean, mean, typing machine.
  • Preonic — Like the Planck, but bigger. 50%.
  • Atomic — Imagine the size of the Planck. Now imagine the size of the Preonic. Now imagine bigger. That is the Atomic. A 60% keyboard.

ErgoDox EZ - Erez Zukerman

Made in Taiwan using advanced robotic manufacturing, the ErgoDox EZ is a fully-assembled, premium ergonomic keyboard. Its split design allows you to place both halves shoulder width, and its custom-made wrist rests and tilt/tent kit make for incredibly comfortable typing. Available on ergodox-ez.com.

  • ErgoDox EZ — Our one and only product. Yes, it's that awesome. Comes with either printed or blank keycaps, and 7 different keyswitch types.

Clueboard - Zach White

Designed and built in Felton, CA, Clueboards keyboard emphasize quality and locally sourced components, available on clueboard.co

  • Clueboard — The 66% custom keyboard.
  • Cluecard — A small board to help you hack on QMK.
  • Cluepad — A mechanical numpad with QMK superpowers.

Community-supported QMK Keyboards

These keyboards are part of the QMK repository, but their manufacturers are not official maintainers of the repository.

  • 9key — A 9-key minipad sold by Bishop Keyboards.
  • Alps64 — A 60% keyboard for Alps keyswitches.
  • AMJ60 — DIY/Assembled compact 60% keyboard.
  • Arrow Pad — A custom creation by IBNobody.
  • Atreus — Made by Technomancy.
  • Bantam44 — It is a 44-key 40% staggered keyboard.
  • Ergodox Infinity - Ergonomic Split Keyboard by Input Club.
  • GH60 — A 60% Geekhack community-driven project.
  • GON NerD — Korean custom 60% PCB
  • Happy Hacking Keyboard — The Happy Hacking keyboard can be hacked with a custom controller to run QMK.
  • Infinity 60% - — Compact community keyboard by Input Club.
  • JD45 — Another Geekhack community project, designed by jdcarpe.
  • JJ40 — ps2avrGB based ortholinear sold by KPrepublic
  • KBD75 — A 75% keyboard made by made by KBDFans.
  • KC60 — A programmable Chinese-made keyboard, lost in the mists of time.
  • Kinesis Advantage — Contoured ergonomic keyboard by Kinesis Computer Ergonomics.
  • KMAC — Korean custom keyboard.
  • The Kitten Paw — A replacement controller (2016 revision) for the Filco Majestouch by Bathroom Epiphanies.
  • Lets Split - Split ortholinear 40% keyboard.
  • Phantom — A tenkeyless kit by Teel, also from Geekhack.
  • Retro Refit — Another creation by IBNobody.
  • S60-x — DIY compact keyboard designed by VinnyCordeiro for Sentraq.
  • Satan — A GH60 variant.
  • SixKeyBoard — A 6-key keyboard made by TechKeys.
  • TheVan 44 — A 44-key staggered keybard by Evangs.
  • WhiteFox — A 65% keyboard designed as a partnership by matt3o, Massdrop and Input Club
  • Vision Division — Full Size / Split Linear Keyboard by IBNobody.
  • XD75 — 15x5 ortholinear keyboard by XIUDI.
  • YMDK NP21 — ps2avrGB based number pad (numpad) sold by YMDK on Aliexpress.