Join us on our own very special Reddit: /r/Linuxers
Python key remapping software quit working on upgrade
Page: «2/2
  Go to:
riusma 24 May, 2019

I don't think that it will help but seeing that it's Razer related have you looked at OpenRazer (Tartarus seems suported) and its related applications (I don't know if key remapping is available with them)? :S:

Edit: sorry I don't think that any of the applications linked to OpenRazer is able to perform key remapping, and I'm under impression that it's not actually possible because of lack of support for such a feature in OpenRazer daemon (I may be wrong). :|

Edit(2): @TherinS, ok just see your comment on Github / Polychromatic... forget my post!

TherinS 26 May, 2019


Thank you for the suggestion to check antimicro with my gameboards, but I found that the n52, Tartarus, and Logitech G13 models were not even detected by antimicro v2.23 and the n50 was partially detected. All 10 keyboard keys on the n50 activated and deactivated as expected in antimicro, along the throttle wheel, but the left and up on the D-pad would remain in an active state when triggered and down and right on the Dpad were not detected at all. There could be a case made for using antimicro with the n50 using only the 10 row keys, so that's a partial win.

Flight sticks may indeed work just fine and I do have an older Logitech one but its in the closet, due to me not having many games that require its use. If antimicro gained support for the Belkin/Razer gameboards I would definitely consider using the program but in its current compatibility it is not right for me.

Lets keep this up though!

TherinS 1 Sep, 2019

In a reply from Linux Game Cast, it was suggested that I run the following chmod commands:

Quotesudo chmod 660 /dev/uinput

If that lets you rebind keys, then you can have a look at creating a udev rule to set those permissions for your usergroup only:

edit /etc/udev/rules.d/99-nostromo.rules
Add KERNEL==”uinput”, SUBSYSTEM==”misc”, MODE=”0660″, GROUP=”input”
And then reboot.

If that doesn’t work, you could try applying those permissions to /dev/uhid instead

I did the first line but the result, even after a reboot, was no change in keybindinds. I then did NOT edit the rules file because I thought it was conditional upon the successful chmod uinput.

I then did "sudo chmod 660 /dev/uhid" and it also resulted in no successful key rebinding, even after a reboot.

Maybe it is a permissions issue that has reared its head between Ubuntu 16.04 and 18.04?
Would you suggest I perform the edit of the .rules file as the center of the quote says anyways?
There is no actual 99-nostromo.rules file, but there is a 52-pystromo-debian.rules file.

redneckdrow 1 Sep, 2019

There is AutoKey. Its a python 3 port of a python 2 program of the same name that was discontinued.

It apparently works much like AutoHotkey on Windows, which I haven't used in years, but I remember that it was neat. The scripting was pretty easy, too!

I think I'll give it a try myself. There are at least a dozen ways to remap keys in Linux manually, though none of them are very user-friendly.

Personally, using ancient code is asking for trouble. I can see why you'd like to stick with pystromo though.

Change is awful when you've been using a program for years (or extensions in my case downthemall and flashgot, thankfully I use Pale Moon and Waterfox).

TherinS 3 Sep, 2019

Thank you, Red, for responding and suggesting Autokey. I have heard good things about that program and how handy it can be. However...

The device I am trying to get Pystromo to work for is a gaming peripheral keyboard from the Razer company. I own the Tartarus and 2 versions of this device which were from the Nostromo line (the n50 and n52) by Belkin before the devices were purchased by Razer. Without key rebinding, the devices merely act like the left half of a standard computer keyboard. Pystromo could also be used for other peripherals such as some game pads and mice.

Autokey is great for changing the function of your main keyboard, but the Tartarus, Orbweaver, and previous generations of these devices are like a secondary keyboard, and have only up to about 30 keys. As stated in a "Issues" thread in the Autokey Github page:

QuoteIs there any way to make autokey work only when a secondary keyboard is typed.

I would like to put 2 keyboards on the computer. One keyboard to work normally and the second keyboard to work completely changed by autokey.

Is this possible?
luziferius commented on Jun 1

Currently not. AutoKey uses XRecord to read input and write output.
As far as I know, that API does not provide the original data source, thus distinguishing the source keyboards is not possible.

I do not wish to change my main keyboard keys; rather, I need to rebind the keys on the Razer Tartarus I am currently using.

-is a user-space program (does not require sudo to run).
-currently only has a functional Python2 version
-lacks a gui, but the mapping files are human readable
-can be ran via scripts, terminal, or the right-click script menu
-starts up instantly
-has no discernable input lag
-works great in Ubuntu 16.04 (and derivatives) but ceases to work in 18.04
-is less than 1MB in size, since all the Python libraries are usually already installed
-has alternate key functions. That is, you can program a key to enable a secondary map of the device, with up to 3 different layouts. Maybe it can do more but I've not tried.
-has macro support, supposedly of unlimited length, though I've rarely used macros with the device.

If you have experience with key rebinding one keyboard while a SECOND keyboard is connected and Autokey indeed works for the second keyboard (contrary to what the post from the Autokey Github page says), please let me know and I will eagerly try out Autokey. As it looks now, Autokey does not have the functionality I am desiring.

While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.