How to customise a USB numeric keypad under GNU/Linux?

Published on

Something that relaxes me after hours of painting or drawing is doing DIY projects. It's always very rewarding for me to hack, repair or customise existing hardware.

Today I'm going to show you how I turned a cheap USB numeric keypad (also known as a numeric keypad, number pad, numpad, 10-key...) into a pad that I use for my digital painting shortcuts when I'm using my display pen tablet or when I'm painting on the go with my laptop. I bought this from a local computer shop for just 5€, a very good deal as this type of device usually sells for between 13€ and 30€. The build quality is a little bulky, the cable is thin and of poor quality, but in the shop I noticed that the keys felt good to press and weren't too noisy (they weren't even in sealed boxes). At this price, it wasn't much of a risk to try it out on a DIY project.

In this tutorial, I'll describe what commands and steps I used to create this project: remap the key on Linux, and paint the keys.

Disclaimer: This modification has limitations. You won't get a professional macro pad with these steps. The hack can only change one key to another. For example, you can't put Ctrl+Z on a single key. You'll have to find a key for Ctrl and another for Z.

The duckyPad looks like a perfect solution (I never tried it) if you want something more advanced. It is also a different budget: around 100€. The project I propose on this page will cost 1/10th of that, and sometimes even less, because you can reuse a device like the one you find around you. In fact, it's not uncommon to find these accessories unused in the cupboards of many computer users.

Also, your device should work. This guide is not intended to solve the problem of broken keypads or keypads without drivers under GNU/Linux.

Let's start!

1. Find how the computer identify your keypad.

The lsusb command line in a terminal should list your device among the full list of your other USB-powered devices. If you have trouble finding its name, unplug it, relist with lsusb and compare the two lists. My device is marketed under the brand name 'Mobility Lab', but thanks to the lsusb comparison we can see that it has a different name under the hood:

Bus 001 Device 004: ID 04d9:1203 Holtek Semiconductor, Inc. Keyboard

Hello 'Holtek'. But that name is not really important. What we are looking for is the number 04d9:1203. This number is unique to the product, so unless you have exactly the same keyboard as me (or one with the same circuit board), you'll have a different one. Write it down somewhere, this is the number plate of our device.

2. List all the scancodes of your keys

Each button also has a special identifier. These are called scancodes. To list them, we need to install a tool. On Fedora, I do that:

sudo dnf install evtest

(If you're on Debian/Ubuntu/Mint, replace dnf with apt, the package will probably have the same name). Then run it, with sudo administrator privileges:

sudo evtest

Evtest will list all your USBs and ask you to select a target. Here you can see mine at event3, 4 and 5. I had the clue thanks to the 04d9:1203 lsusb identifier.

/dev/input/event2: Samson Technologies Samson Meteor Mic Consumer Control
/dev/input/event20: HD-Audio Generic Rear Mic
/dev/input/event21: HD-Audio Generic Line
/dev/input/event22: HD-Audio Generic Line Out
/dev/input/event23: HD-Audio Generic Front Headphone
/dev/input/event3: HID 04d9:1203
/dev/input/event4: HID 04d9:1203 System Control
/dev/input/event5: HID 04d9:1203 Consumer Control
/dev/input/event6: Dell KB216 Wired Keyboard
/dev/input/event7: Dell KB216 Wired Keyboard System Control
/dev/input/event8: Dell KB216 Wired Keyboard Consumer Control
/dev/input/event9: UGTABLET 24 inch PenDisplay Mouse
Select the device event number [0-23]:

After selecting a device (e.g. 3), Evtest will begin to 'listen' to the keystroke and give detailed feedback on each keystroke. Here is a paragraph for a single key press.

Event: time 1693422668.703634, type 17 (EV_LED), code 0 (LED_NUML), value 0
Event: time 1693422668.703634, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7005f
Event: time 1693422668.703634, type 1 (EV_KEY), code 46 (KEY_C), value 1
Event: time 1693422668.703634, -------------- SYN_REPORT ------------

In this paragraph we are only looking for the MSC_SCAN value. For our key it is 7005f. Make a note of all the MSC_SCAN values for your keyboard keys. If some keys return nothing, also check if your device had other evtest entries (mine has 3). You'll find them this way (e.g. this was the case for my calculator key, alone on event5). I also have the 00 key on the bottom of my device, which is a special key. It has a hardcoded behaviour: it types the number 0 twice. If I replace 0 with anything, this key just repeats it twice. I'll just do the best I can to avoid the use of this key.


The keypad with the scancodes written on top of the keys (click to enlarge).

3. Assign custom keycodes to your device

Start by making a plan or sketch of your future keyboard layout; it's not easy, and it's a good idea to do this with a pencil and eraser, as you may change your mind during the design process.

To apply our plan, we'll create a new file at /etc/udev/hwdb.d/95-custom-keypad.hwdb (use your editor with administrator privileges, in my case: sudo micro /etc/udev/hwdb.d/95-custom-keypad.hwdb).

The filename is flexible:

  • 95- = you can use any two-digit number to start your filename. It's used to sort the configuration files.
  • custom-keypad = your custom description of your device, lower case, no spaces (you can replace it with the - separator).
  • .hwdb = the extension, mandatory.

Here is the content I put in this file:

evdev:input:b0003v04D9p1203*
 KEYBOARD_KEY_70029=0x29 # [Esc] => [²]
 KEYBOARD_KEY_c0192=0x02 # [Calculator] => [&1]
 KEYBOARD_KEY_7002b=0x03 # [Tab] => [é2]
 KEYBOARD_KEY_7002e=0x04 # [=] => ["3"]
 KEYBOARD_KEY_70053=0x2b # [Numlock on/off] => [*]
 KEYBOARD_KEY_70054=0x10 # [/] => [a](q)
 KEYBOARD_KEY_70055=0x11 # [*] => [z](w)
 KEYBOARD_KEY_7002a=0x12 # [Backspace] => [e]
 KEYBOARD_KEY_7005f=0x1f # [7] => [s]
 KEYBOARD_KEY_70060=0x2f # [8] => [v]
 KEYBOARD_KEY_70061=0x15 # [9] => [y]
 KEYBOARD_KEY_70056=0x14 # [-] => [t]
 KEYBOARD_KEY_7005c=0x38 # [4] => [Alt]
 KEYBOARD_KEY_7005d=0x1e # [5] => [q](a)
 KEYBOARD_KEY_7005e=0x2e # [6] => [c]
 KEYBOARD_KEY_70057=delete # [+] => [Del]
 KEYBOARD_KEY_70059=0x2a # [1] => [LShift]
 KEYBOARD_KEY_7005a=0x56 # [2] => [<]
 KEYBOARD_KEY_7005b=0x2c # [3] => [w](z)
 KEYBOARD_KEY_70058=0x1c # [Enter] => [Enter]
 KEYBOARD_KEY_70062=0x1d # [0 => [LCtrl]
 KEYBOARD_KEY_70063=0x39 # [.] => [spacebar]

The first line targets the device:

  • b0003 = 0003 stands for USB device.
  • v04D9 = first value of lsusb identifier, but capitalised and with a leading v.
  • p1203 = last value of lsusb identifier, but capitalised and with a leading p.
  • * = wildcard to match any other number after it.

Then we have an incremented list of key definitions. It uses the syntax: KEYBOARD_KEY_<scancode>=<target keycode> #<a comment written the way you want>. About the scancodes, we should have the whole list thanks to evtest. The target keycode can be keywords from this list or Qwerty scancode in this type of visual. Just prefix the scancode with 0x and keep it in lower case. (e.g. Y = 15 => 0x15). Note that all changes will be made from the perspective of a Qwerty keyboard, so if you enter the keycode for 'a' on an Azerty, you'll get a 'q'.

When you are done, save, quit and refresh the system with this command line:

sudo systemd-hwdb update && sleep 2 && sudo udevadm trigger

The keyboard should work, but it is normal to have to make adjustments and go through several loops of editing and testing.

4. Customize your keypad

This part is entirely up to you. A simple suggestion for your project: draw on sticky paper labels and plastify them with clear tape, no need to sand the keys or anything.

For my part, I decided to experiment and paint the key with coloured nail polish. This varnish (acetone based) is very strong when dry and resistant to key presses. But it's also super thick and sticky and it's very difficult to make thin lines or details.

To clean the keys, I sanded them in two passes: 320 grit to remove the letter, then 400 grit to smooth them. I had a can of black spray paint around, so I applied a thin coat, as sanding the keys turned them a dull dark grey.


Sanding and coating with black paint.

My guideline was to make each key visually unique and not take the thing too seriously. I had a lot of fun! But I was often frustrated because my lines were very thick and wobbly and I was constantly fighting against the drying time and the lack of control.


While painting the keys.

Finally, here's how I use the keyboard.


The final result with notes on how to use the customisation.

I wish you lots of fun with your own future projects!

Your customised keypads:

I'll post here photos of your keypads (with authorizations).

2023-09-10: Kathy Murdoch's "kapelloboard" (original post here)

Sources:


Other methods from the comments:

GUI method via Input-Remapper:

Moini posted a link to the free/libre and open source software Input-Remapper. I have tested it and it was easy to install following the instructions in the README.

This tool has a graphical user interface and will detect all your USB devices: your keyboard, gamepads, mouse and tablet. It can also enter macros and complex input (e.g. shortcuts such as Ctrl+Z). You can also assign multiple presets to the same device.

On the downside, you always have to have the software installed and running (or the systemd daemon), and if your device has a feature for going to sleep (or disconnecting from Bluetooth, or simply not being powered on), you'll have to reopen Input-Remapper and press 'Apply' after the device has come back from sleep. If the whole system goes to sleep, the connection might have difficulties to reconnect.

That's why I stopped using it after the excitement of the first few days of test. My keypad wasn't always plug and play and I had to go in a series of menus and clciks to get it ready again (something that I don't experience with the hwdb method described in the article). That's why I'll continue to prefer my method and have moved this part to the footer of the article as a note.

But Input-remaper is easy and your best option if you need complex shortcut or macros. Read the basic Usage tutorial section of the documentation and then the Examples. You'll save a lot of time and your imagination will open up to the many possibilities this software has to offer.


93 comments

link Bart Veldhuizen 🚀   - Reply
BartV@mastodon.social

brilliant! I’ll share this with my kid, he couldnuse this. Thanks, David!

link Anna ☃️   - Reply
Anna@mastodon.art

It looks very useful for drawing outdoors :blobcateyescoffee: Also I love how you painted the keypad, it looks so fun!

link David Revoy Author, - Reply
davidrevoy

@Anna 😊 Thanks!

link Trevor Flowers   - Reply
trevorflowers@xoxo.zone

Sort of off topic but I wonder whether anyone has used two 10-key pads turned sideways as a cheap-o split ergo keyboard.

link David Revoy Author, - Reply
davidrevoy

@trevorflowers This interesting, but I'm not sure technically how one could match two similar keypads (assuming it is the same model, for aesthetic) because the evdev:input: identifier on top of the two hwdb files would be the same, and then the one with the filename sorted in last would overwrite the config of the first.
But it could work in theory with two differents keypad product (and probably require a lot of planning too 😅 ).

link Trevor Flowers   - Reply
trevorflowers@xoxo.zone

Indeed, it seems so far out of the normal use path that there would be trouble. Perhaps two pads that are minor revisions of the same model would look alike but have different IDs. I'm pretty sure that this is a silly idea. 😹

link Brian Swetland   - Reply
swetland@chaos.social

@trevorflowers Probably doable if they have unique serial numbers... which unfortunately is unusual for keyboard/mouse peripherals, *but* would be easy enough to add to something with customizable firmware (QMK being popular).

I've found QMK pretty painless for getting stuff wired up:
chaos.social/@swetland/1099526
chaos.social/@swetland/1101650

link Trevor Flowers   - Reply
trevorflowers@xoxo.zone

@swetland A goofy mock-up.

🖼️ 030532e9e01d3e12.png 

link Brian Swetland   - Reply
swetland@chaos.social

@trevorflowers Given how easy QMK is to customize (see links in my edited reply above), how easy it is to lay out a simple keyboard PCB, and how inexpensive they are to manufacture these days, I'd probably lean toward building custom stuff here rather than using keypads turned sideways (which I suspect would feel kinda weird to type on).

link Trevor Flowers   - Reply
trevorflowers@xoxo.zone

@swetland Oh, for sure. I just like the idea of pulling a couple of ten-keys out of the $1 pile and turning them into a "fancy" split ergo with basically no effort.

link Trevor Flowers   - Reply
trevorflowers@xoxo.zone

@swetland It may be time for a trip to my local PC refurbisher, Re-PC. I don't know why my brain latches onto this sort of thing, but here we are.

link David Revoy Author, - Reply
davidrevoy

@trevorflowers @swetland Oh yes, this is fun. 😆 One of my next project will use a Keypad again; I saw in the list of possible keys hal.freedesktop.org/quirk/quir all the f13 to f22 function keys. I want now an extra bonus Fkeys addon to map many shortcuts on my softwares. I made a quick test: it will work also with OBS for a cheap live stream deck.

2 ★

link Trevor Flowers   - Reply
trevorflowers@xoxo.zone

@swetland Although, I suppose it should be arranged like so.

🖼️ 387dcbb8929aa11b.png 

link Alexander Sosedkin :nixos:   - Reply
monk@social.unboiled.info

@trevorflowers @swetland note that while this one has a 00 key, you won't be aple to use it as a proper keys

link Trevor Flowers   - Reply
trevorflowers@xoxo.zone

@monk I don't understand. Why couldn't one remap that key like any other?

link Alexander Sosedkin :nixos:   - Reply
monk@social.unboiled.info

@trevorflowers because the controller will rapid-fire indistinguishable-from-normal zeros when you press it, and might not even report the releasing in any remotely sane way. At least that's how it went on the units I had.

Yeah, you can probably distinguish pressing it from double-pressing a zero by checking for an inhumanly precise interval between the zeroes, but using it as, say, a modifier won't fly. And a keyboard of this size needs modifiers.

link Trevor Flowers   - Reply
trevorflowers@xoxo.zone

@monk TIL that this is how the 00 key works. I guess it makes sense but yeah, annoying for me to do this (probably bad) idea. I plan to go to my PC refurb warehouse soon so maybe they have pads without the 00.

link Alexander Sosedkin :nixos:   - Reply
monk@social.unboiled.info

@trevorflowers sure. but they have this awful arrangement of larger keys that ain't even symmetrical when you do that

link blooj 🍉 | they/xe/it   - Reply
bluejorts@kolektiva.social

@trevorflowers I'm gonna find the fuck out lol. My Mistal split keyboard cost way too much for me to want to replace it. and I run Linux anyway.

link Jookia   - Reply
jookia@social.tchncs.de

Hi Deevad, I just want to point out that USB VIDs are not unique to every keyboard but every product at best and every product that uses a certain microcontroller at worst.

That said I'm not sure what a better solution would be :) Just keep it in mind that someone could theoretically lose the draw and have two of the same VIDs

link David Revoy Author, - Reply
davidrevoy

@jookia Hey Jookia, thanks for the feedback. I'll fix the article 👍

link Jookia   - Reply
jookia@social.tchncs.de

Great!

Also not sure why I called you deevad haha :)

link David Revoy Author, - Reply
davidrevoy

@jookia That's my name on IRC, and we spent a lot of time discussing on it, maybe it is your muscle memory. Totally fine. 😊

link 🐧DaveNull🐧 ☣️pResident Evil☣   - Reply
devnull@mamot.fr

@jookia USB Vendor IDs (first ID lsusb) are not unique, as all the devices from the same manufacturers well have the same but USB Product IDs (second ID in lsusb) combined with Vendo IDs are "unique enough", so unless you use abnormally high number of different USB HID devices and you are extremely unlucky to have the same VID and same PID for 2 similar devices (numpads, or numpad and keyboard), risk or having these remapping accidentally applied to other devices are pretty low.

link Jookia   - Reply
jookia@social.tchncs.de

@devnull

Yes I meant VID+PID combination

link 🐧DaveNull🐧 ☣️pResident Evil☣   - Reply
devnull@mamot.fr

@jookia If you own multiple numpads/keyboards, you can still easily (should?) check whether you have more than one with the sane ID as the one you want to remap keys for, but chances are low enough.

link dbat :godot:   - Reply
dbat@mastodon.gamedev.place

This is such wonderful info. Thanks a million!

link Julie   - Reply
jujudraw@mastodon.art

oh la la je vais prendre l'idee!

link Paul :archlinux: 🐧   - Reply
Paul_Aguayo@qoto.org

what a beautiful, interesting and useful project.
Thanks for sharing

link Aroop Roelofs :verified:   - Reply
finlaydag33k@social.linux.pizza

Bookmarking for later.
Could come handy for my video editing stuff.

link KBSez ✅   - Reply
kbsez@postchat.io

This is freaking awesome, David! Thanks!

I'm intrigued what editing and motion graphics things I could do with this idea...

link Emanoel   - Reply
emanoel@bolha.us

thanks for sharing. Amazing idea

link Moini   - Reply
Moini


Hey - I use something similar, buttons don't look as nice, but programming it was so much easier with the GUI program Input Remapper:
github.com/sezanzeb/input-rema

5 ★

link Moini   - Reply
Moini

Also available in Debian and Ubuntu, but not the latest version, I suppose.

It can also assign keycombos and keyboard sequences to keys. Super cool tool!

2 ★

link David Revoy Author, - Reply
davidrevoy

@Moini Oh! very cool, thanks for sharing. I'll have a look at it. 👍

link AlexanderMars   - Reply
AlexanderMars@mastodon.social

@Moini wait, so I can use this to turn a generic numpad into a macro pad?

link David Revoy Author, - Reply
davidrevoy

@AlexanderMars @Moini I just made a quick test and WOW. github.com/sezanzeb/input-rema is amazing. The README has install method for Fedora and it was easy to install. It works really well and detect my Keyboard, my Xp-Pen buttons, button on my USB microphone! It really can input macros (multiple keys, composed shortcuts, and special keys) and you can have multiple presets for the same device. It cannot neutralize devices with hardcoded multiple keys (expected). I'll update the article with a note 😍

3 ★

link AlexanderMars   - Reply
AlexanderMars@mastodon.social

@Moini I think every #krita #inkscape #gimp user would want to know about this. Just need a cheap numpad and you have a custom macro deck. Gotta star the hell out of that project!

2 ★

link Moini   - Reply
Moini

@AlexanderMars I made mine for screencasting, and indeed, Inkscape (it can mute me, and start/stop recording, copy-paste etc.) :) Haven't used it for that yet, though.

But yes, super cheap, super easy, and all in all pretty great!

link AlexanderMars   - Reply
AlexanderMars@mastodon.social

@Moini I just wish I had one of those num pads in the back of the closet, but I’ve never actually needed one.

link bszlrd   - Reply
bszlrd@mastodon.art

This kind of setup is a godsend for lefties. I developed a similar one during the years for Krita. And recently I've found a keypad that has the the whole right side of a keyboard, which is quite convenient.
I'm also using a similar setup in Blender, and the nice thing there is that you can use any key as a modifier, so 0+keys can be used for example for additional stuff.

🖼️ 1436cea05fc32942.png 

link David Revoy Author, - Reply
davidrevoy

@bszlrd Cool device with all that keys! I'm jealous of the arrows directional keys (and page up/page down); if I had those on my pad, I could use it as a gaming pad in transport too xD

link bszlrd   - Reply
bszlrd@mastodon.art

It is a Satechi bluetooth keypad, and not too expensive even. Although I found that it can lag sometimes, and I'm not yet sure what's causing that.
And oddly enough the Delete key starts Firefox for some reason :D

🖼️ 93edb5704d937db9.jpg 

link bszlrd   - Reply
bszlrd@mastodon.art

And out of curiosity, how sturdy is the nail polish on the keys? I thought about customizing my keypads, but it never occured to me to use that.

link David Revoy Author, - Reply
davidrevoy

@bszlrd Nail polish is very resistant; I already customised buttons with that and they never erased or went to powder.The bright colors might catch a bit of dirt over time from fingers,but it's washable. The main drawback are about how thick and hard to apply for making clean details, and also the fact that acetone or any product to wash the nail polish might attack and start diluating the plastic too. So, it's hard to erase. It's possible, but probably would require to sand the key again after.

2 ★

link bszlrd   - Reply
bszlrd@mastodon.art

That's cool to know, thanks! I'll certainly try it.

link Captain Arepa   - Reply
captain_arepa@moar.cachapa.xyz

@davidrevoy@framapiaf.org This is relevant to my interests ​:pepe_nerd:​

link Gord   - Reply
grs@infosec.exchange

That's pretty dang neat. I had no idea the Yogas could enable such fine work.

link portugalense   - Reply
portugalense@masto.pt

i have the same laptop as yours, did you manage to make the fingerprint reader work?

link David Revoy Author, - Reply
davidrevoy

@portugalense No, I noticed it, but as I'm not using it I haven't even tried. I remember the Arch wiki had something about it: wiki.archlinux.org/title/Lenov

link portugalense   - Reply
portugalense@masto.pt

fedora not same s arch , and i already tried and honeslty gave up thank you non the less 😊

link alice   - Reply
lexd0g@wetdry.world

@portugalense gist.github.com/borcean/f32c47 try this, worked on my x380 yoga and the 370 seems to have the same sensor

link David Revoy Author, - Reply
davidrevoy

@lexd0g @portugalense Thanks Alice for the link, I'll bookmark and test. 👍

2 ★

link Omid Mnz   - Reply
omidmnz@functional.cafe

Maybe try KMonad or Kanata. They provide a lot of the functionality of a QMK keyboard, e.g. different functions for tap/hold, tap-dancing, layers, mapping to key combinations, etc., with a much more readable configuration.

link David Revoy Author, - Reply
davidrevoy

@omidmnz Thanks for the guidance to better method. Do you have a tutorial in mind about them for beginners?

link David Revoy Author, - Reply
davidrevoy

@omidmnz 😺 I found it! youtube.com/watch?v=Dhj1eauljw

2 ★

link Omid Mnz   - Reply
omidmnz@functional.cafe

that's a good one. Be sure to at least skim the documentation though. You might find features uniquely useful for your workflow that might not be as appealing to a programmer.

link Cegorach   - Reply
drazraeltod@chaos.social


that is a nice idea…

now I'm thinking about if it were possible to use a bluetooth one as a remote for #HomeAssistant

😃

link David Revoy Author, - Reply
davidrevoy

@drazraeltod Oh, let me know if you find info about this, this is interesting.

link David Revoy Author, - Reply
davidrevoy

@drazraeltod Update! I had this bluetooth gamepad at home (a cute mini 8BitDo Zero 2 8bitdo.com/zero2/) and if I put it in keyboard mode; evtest catches the events and gives the product/vendor info (not listed in lsusb).
I also got feedback about an utility 'input-remapper' that makes all of the setup easy with a GUI. So it should work with bluetooth keypad as well following the same method. I updated the article.

link screambiogenesis   - Reply
screambiogenesis@mastodon.social

Nice. Thanks for the evdev writeup (and FWIW, the package name in Arch-alikes is 'evtest' instead of 'evdev'). I knew that kind of thing was possible, but had never put in the time to figuring it out.

And the paintjob is fun. I bet doing it that way actually helps burn the connection into your brain, too.

link David Revoy Author, - Reply
davidrevoy

@screambiogenesis Thanks! And oh, I just had a check at my `dnf history` and the package is evtest too. That's a big typo, thanks for finding it, I'll fix now. 👍

link MHunt   - Reply
mhunt@socel.net

very nice!

link J 🏳️‍⚧️   - Reply
primarchjennifer@pipou.academy

I'm definitely reading that tomorrow.

link Tomoko   - Reply
Tomoko_Kuroki@mastodon.social

Nice, my coworkers are still amazed that I got my Wii UDraw tablet to work on the computer. Though that is more hardware hacks if anything.

link Makoto   - Reply
alchemicacht@tech.lgbt

looks great. I never see cheap numpads here, because nobody seems to use them. Saw them only in an online shop and they were almost as expensive as regular keyboards

link David Revoy Author, - Reply
davidrevoy

@alchemicacht Thanks! Maybe they are easy to find in France because the Azerty layout needs an extra step (pressing shift) to activate numeric; so it is not easy to make accounting or office work from laptop. On the Fr refurbished market place , I can find tons of them from 1 to 5€ leboncoin.fr/recherche?categor

link libresurf   - Reply
libresurf@pouet.chapril.org


I like it !
I want the same !

link David Revoy Author, - Reply
davidrevoy

@libresurf 😊 Thanks!

link Hope Sara   - Reply
hopesquara@cupoftea.social

That's genius!

link David Revoy Author, - Reply
davidrevoy

@hopesquara

link Raphael   - Reply
OmegaPolice@hachyderm.io

This is great, nobody should have to buy Stream Decks and the like!

I got myself a FaunchPad and a Butter Stick from gboards.ca a while back for similar purposes, but they seem to be down. :/ They offered some affordable small keyboards runnig QMK!

link tibi   - Reply
tibi@mastodon.art

I love the paintjob! I wanna do something similar, good to know that the nail polish holds up. Did you use any special technique for painting the plastic or just the brush and palette seen here?

link David Revoy Author, - Reply
davidrevoy

@tibi Thanks! I only watched this video youtube.com/watch?v=D0gTkPAkFI (or quickly browsed into it), I used also toothpick to make dots, and I found that a little drop or two of dissolvent (acetone) help to fluidify a bit if the liquid become to thick. Also, my mistake: trying to put yellow on top of black; I had to do three layer because my yellow is not really very covering well. If I knew, I would have started with a first pass of white, then yellow on the top. Two layers, less wobbly.

link tibi   - Reply
tibi@mastodon.art

all very useful info, thank you! as an aside i like how the nail polish here can create tactile bumps on the keys

link David Revoy Author, - Reply
davidrevoy

@tibi Oh yes, big dots are indeed very useful for that. I used them on my previous stylus that was really flat davidrevoy.com/data/images/blo

link tibi   - Reply
tibi@mastodon.art

oh thats clever! i might just try this too. ive basically given up on pen buttons since theyre so bad for this reason

link Raghukamath Krita team, - Reply
raghukamath@mastodon.art

now I know what to buy and do on sunday

link David Revoy Author, - Reply
davidrevoy

@raghukamath 😉 Cool!

Here I'll customize also an 8bitdo.com/zero2/ gamepad I have. I saw the event listed on evtest this morning. Because it is super small and wireless (and also less buttons), this one will be for my desktop computer, when I have my left hand in a position not on the keyboard or the shortcut keys of the tablet.

link 🍃 Vertenote 🎵   - Reply
vertenote@mamot.fr


Super interessant. Je n'ai pas de pavé numérique sous la main mais bien un MakeyMakey. Votre tuto me permettra d'aller plus loin que la fonctionnalité remap qui y est intégrée.
Merci :-)

link David Revoy Author, - Reply
davidrevoy

@vertenote Je conaissais pas ce projet, c'est trop cool comme sensor. Merci pour le partage 🙂

link YoYunix   - Reply
yoyunix@mastodon.social

One thing you could do to turn this into something more like a MacroPad is to bind your NumPad keys to shortcuts in a script for an AutoHotKey port for GNU/Linux (for example, AHK_X11 ( github.com/phil294/AHK_X11 ) is what I used, and should work for any X11-based distro). The NumPad keys don't get registered by anything other than the AHK interpreter, so you don't have to worry about them accidentally triggering some other action they were bound to.

link David Revoy Author, - Reply
davidrevoy

@yoyunix Thanks for sharing this tool!

But I think I found the ultimate tool for macro: the one I tested this morning github.com/sezanzeb/input-rema thanks to the comment of Moini (and added it to the article, you probably saw it). It's X11/Wayland compatible, has a GUI , presets and can also do complex macro (even mixing keyboard and mouse click, or macro with 'wait' between actions so I can do combo of shortcut keys.

link YoYunix   - Reply
yoyunix@mastodon.social

Oh! I didn’t see that, and it looks a lot simpler than my suggestion 😅.

link David Revoy Author, - Reply
davidrevoy

@yoyunix That was also my feeling when I tested it this morning after I spent a big time in the udev/hwdb documentation and tweaking :blobcat:

link blooj 🍉 | they/xe/it   - Reply
bluejorts@kolektiva.social

ohhhh, I'm gonna try this

link Bruno :bantu:   - Reply
bruno@bantu.social

that's so cool. I'm thinking about doing something like that for streaming

link LoneStrider   - Reply
cursedartist@mastodon.uno

Oh this is so cool! Can I ask you which pen you're using on that Thinkpad?

link David Revoy Author, - Reply
davidrevoy

@cursedartist Thanks! Sure, from the top of my brain, it's a Wacom Bamboo Ink Plus, I detail it on davidrevoy.com/article972/my-s . Their naming convention is a bit confusing, they have many products named bamboo, and ink , this one is the one that has a built-in battery you can charge with Usb-C.

link gee Ⓐ⚑   - Reply
gee

cooool, j'avais pas vu passer cet article 🙂

Moi j'utilise les touches les plus à droite de mon mini clavier MIDI (bon du coup je les ai pas décorées vu que ça me sert aussi de vrai clavier de piano, mais bon), avec un script qui map le signal MIDI vers une combinaison de touches reconnue dans Inkscape (annuler, changer d'outil, etc.).

3 ★

link rwdmiha   - Reply
rwdmiha@mastodon.social

Looks fantastic. Here in this country, I have never seen an inexpensive numpad in use. I only ever came across these in an online store, and they were nearly as pricey as standard keyboards.
slopegame.net

link missishness_addict   - Reply
missishness_addict@mstdn.social

Your blog post made my old unused numpad become useful again! 😁 While looking more for how to convert numpad to a macro keyboard, I also found this way of doing it: github.com/jfedor2/hid-remappe

Basically it uses a Raspberry Pi Pico for the remapping. Helps very much if you need to have the numpad on a different computer but doesn't want to remap it on another computer!

link David Revoy Author, - Reply
davidrevoy

@missishness_addict Thanks!
And thank you for the link to this project. Very interesting method. I had no idea also how cheap and compact the PiPico was.


Post a reply

The comments are synchronised every 12h with the replies to this post on Mastodon:


How to use this? (click here to unfold)
Open a new Mastodon account on the server of your choice. Then, Copy/Paste the adress above in your Mastodon 'Search' field. The post will appear and you'll be able to fully interact with it. You'll have full control of your posts: edit, remove, etc. After that, your message will appear here.

Just please note that it may take up to 12 hours for your changes to be reflected here.