LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 05-14-2020, 11:40 AM   #1
CVAlkan
Member
 
Registered: Nov 2012
Location: Northwest suburbs of Chicago
Distribution: Ubuntu & Mint LTS, Manjaro Rolling; Android
Posts: 242

Rep: Reputation: Disabled
Durgod Keyboard - works but not programmable


Disclaimer: this may or may not be a hardware issue, but since it only occurs with a specific device, I've posted it here.

I recently purchased a Durgod Taurus K320 TKL Mechanical Keyboard, one of a series of rather impressive keyboards; it can be seen at https://www.amazon.com/dp/B078H3WPHM...v_lig_dp_it_im

This particular version is wired through a USB port and is "plug and play." So far, so good. Not quite the same feel as my treasured Northgate OmniKey (still in regular use after 28 years), but appears to play in the same league.

Durgood also provides a Windows only app for creating macros, reassigning keys and the like, called the Durgod Zeus Engine, which can be downloaded from https://www.durgod.com/Durgod-Zeus-Engine?_l=en

The company's tech support assured me that there is no way this app can be used under Linux. Of course, I refused to believe/accept that, so I attempted to run the app under Wine, and it ran just as described in the company's documentation. Once again, so far, so good.

BUT - the application didn't recognize that one of its devices was installed on my system (I've tried it on Mint 19.1, Mint 19.3 and Ubuntu 20.04). I then installed the software on a Windows 10 laptop and it immediately recognized the keyboard and opened up all the options for creating macros, etc. though I didn't actually attempt to create any yet, since as a long-term solution that would be a pain.

Trolling the web, it seems that many folks mention that Wine doesn't always recognize USB devices and there are many posts describing rather elaborate "work-arounds" for this.

As it happens, I also use another USB-connected programmable keyboard, the Kinesis Freestyle Edge, which can be seen at https://www.amazon.com/KINESIS-Gamin...43&sr=1-3&th=1

While basic programming of the Kinesis can be done from the keyboard itself, Kinesis also supplies a Windows app, called the Smartset Programming app. When I run that program using Wine, it recognizes the keyboard and works just fine for remapping keys and creating macros.

So, therefore, I have a difficult time believing that Wine support for USB is somehow at fault for the failure of Durgod's app to recognize its own keyboard.

Using the lsusb command, I get the following line when the Durgod keyboard is plugged in:
Bus 001 Device 003: ID 2f68:0082 (no other description)

The fact that there is no human-readable description (e.g. my mouse shows up as "Bus 003 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver") is the only odd thing I've been able to locate, but I don't know if that might have any relevance to my issue.

Does anyone have any ideas?

Thanks, and stay safe.
 
Old 05-16-2020, 10:38 PM   #2
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,842

Rep: Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148
This command will show what drivers are loaded for your usb device(s)...
Code:
usb-devices
If there is no Linux driver support for the programming interface, there's not much you can do. I'd be inclined to take the pragmatic approach and use Windows XP (or 7) and install in a virtualbox environment for the occasions when you need to use the Windows config software.
 
Old 05-16-2020, 10:42 PM   #3
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,842

Rep: Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148
Another thought, watch the kernel output
Code:
dmesg -w
when you first plug it in. If it provides a USB serial interface (for programming), that will become evident and there will be a driver loaded (as per the 'usb-devices' output). It might then be possible to configure wine to 'see' it with simple mapping to a com port.

Last edited by ferrari; 05-16-2020 at 10:56 PM.
 
Old 05-17-2020, 10:57 PM   #4
techpeat
LQ Newbie
 
Registered: Apr 2020
Location: usa
Posts: 3

Rep: Reputation: Disabled
Cool

Trolling the web, it appears that numerous people notice that Wine doesn't generally perceive USB gadgets and there are numerous posts depicting rather expand "workarounds" for this.

As it occurs, I additionally utilize another USB-associated programmable console, the Kinesis Freestyle Edge, which can be seen at https://www.amazon.com/KINESIS-Gamin...43&sr=1-3&th=1
 
Old 05-18-2020, 02:47 AM   #5
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,842

Rep: Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148Reputation: 1148
If the programmable keyboard device presents as a USB serial device (as well as an HID device), then it is a reasonably easy exercise to map (=soft link) the relevant ttyUSBx device node to a COM port. Let's see what usb-devices and dmesg report about the device.
 
Old 05-18-2020, 04:58 AM   #6
josephj
Member
 
Registered: Nov 2007
Location: Northeastern USA
Distribution: kubuntu
Posts: 214

Rep: Reputation: 112Reputation: 112
Alternative approaches

If you need advanced functionality from your keyboards, here are a couple of other ways to get it.

If you run a modern GUI desktop environment, you may be able to install AutoKey . It allows you to use hotkeys and abbreviations to trigger phrase substitutions and run scripts written in Python which can be used to automate many GUI tasks with keyboard and mouse events using its API. I've been using and supporting it for many years.

If you need total flexibility, you can hook up a Raspberry Pi or similar small computer between your keyboard and your target computer. It can do almost anything you can dream up. I've never tried this, but the software to make it work appears to be available. You don't have to start from scratch. It is probably even possible to do the whole setup wirelessly, so you don't have a computer dangling from your keyboard. (If anyone does this, please let me know. I'd love to hear about it.)

Both of these approaches should work with almost any conventional keyboard and should be mostly transparent to your system and applications.
 
Old 11-27-2020, 10:21 AM   #7
markoschuetz
LQ Newbie
 
Registered: Nov 2020
Posts: 1

Rep: Reputation: Disabled
Similar situation...

I have the Durgod Taurus K310. Basic typing and the configurations built into the keyboard work fine. I have tried a few things to get the application to configure the keyboard from wine, but I'm not knowledgeable about wine configuration. The application launches, but does not seem to recognize the keyboard.

I emailed HK Gaming, but have not yet received any response.

It's really not a deal-breaker, I like the keyboard a lot (my first mechanical), it would just be nice to take advantage of all its features.

Any suggestions?
 
Old 11-27-2020, 11:32 AM   #8
CVAlkan
Member
 
Registered: Nov 2012
Location: Northwest suburbs of Chicago
Distribution: Ubuntu & Mint LTS, Manjaro Rolling; Android
Posts: 242

Original Poster
Rep: Reputation: Disabled
Hi Mark:

There's a Windows background process that recognizes and communicates with the keyboard.

Based on how my Kinesis FreeStyle Edge works, I 'assumed' (yup; say it) that the Durgod worked in pretty much the same way. Kinesis stores both the software and the key maps, macros, etc. IN THE KEYBOARD as a mountable Fat32 drive. Thus, I can connect the Kinesis to any machine I want, running any OS I want, and it works just fine, and all my hot keys, macros and boilerplate are available. Wine is only needed on a Linux box if you need to run the Kinesis configuration software. Since key remappings and such things can be done on the keyboard (the app is only a GUI for convenience), the Edge is completely portable.

It took a while, but I finally figured out that the Durgod doesn't store anything at all in the keyboard. Their configuration software is a Windows executable (which, as you've seen, is pretty nice), and is the only way to reprogram anything. The Windows background app I mentioned above needs to be running to recognize the keyboard, remap the keys and execute the macros on the fly by reading these from some data stored in a Windows file somewhere. Since (as far as I know) there's no way to run a background process with wine, enhanced functionality and programmability are only available on the particular Windows machine used to set it up.

JosephJ mentions his utility, which fills a niche and may do what you want, but I was hoping for the complete portability I get from my FreeStyle Edge.

But - as you said - the Durgod is an excellent keyboard (and I'm a long time Northgate user), an excellent value, and comes with good cabling and a dust cover - something not often seen (my Northgate cover is really showing its age after almost 30 years, though the keyboard itself still works great). The Durgod's layout is better than the Edge's as far as navigation keys go, and it's built like a tank; its programmability just wasn't designed with Linux in mind.

Hopefully the Durgod folks will keep upping the ante for keyboards ...
 
Old 11-28-2020, 10:58 AM   #9
DavidMcCann
LQ Veteran
 
Registered: Jul 2006
Location: London
Distribution: PCLinuxOS, Salix
Posts: 6,150

Rep: Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314
It certainly looks good. I note that the keys are dye-sublimated, which means the inscriptions won't wear as quickly as those that are simply printed, such as those on the (more expensive) Filcos.

With Linux you can do a lot from the OS and the desktop. My keyboard has been reconfigured by re-writing the driver files — e.g. the original CapsLock is now AltGr and CapsLock has replaced Pause — and I use the Super (aka Windows) key for launching must of my programs — e.g. Super C for a calculator. What things did you want to program it for?
 
Old 12-13-2020, 10:20 AM   #10
david0
LQ Newbie
 
Registered: Dec 2020
Posts: 2

Rep: Reputation: Disabled
Hi, I just stumbled on this thread.

You might want to try my script to remap the keyboard under Linux and OS/X:
https://github.com/david0/durgod-keymapper

Its a nice keyboard btw!
 
Old 12-13-2020, 08:20 PM   #11
CVAlkan
Member
 
Registered: Nov 2012
Location: Northwest suburbs of Chicago
Distribution: Ubuntu & Mint LTS, Manjaro Rolling; Android
Posts: 242

Original Poster
Rep: Reputation: Disabled
Hi David:

I downloaded your script and made it executable, but it fails with the message
Code:
ModuleNotFoundError: No module named 'hid'
on the line
Code:
import hid # pip install hidapi
I did do the install as you mentioned:

Code:
$ pip install hidapi
Defaulting to user installation because normal site-packages is not writeable
Collecting hidapi
  Downloading hidapi-0.10.1.tar.gz (60 kB)
     |████████████████████████████████| 60 kB 923 kB/s 
Requirement already satisfied: setuptools>=19.0 in /usr/local/lib/python3.8/dist-packages (from hidapi) (50.3.2)
Building wheels for collected packages: hidapi
  Building wheel for hidapi (setup.py) ... done
  Created wheel for hidapi: filename=hidapi-0.10.1-cp38-cp38-linux_x86_64.whl size=358095 sha256=6fcafb1490883ac5cadbc936230930f4ba334ba18e090b62f08b7f82b13c3b53
  Stored in directory: /home/frank/.cache/pip/wheels/56/3e/a8/7a24b21c01981a75ec4da858f1b43cd61bc10ed0404e1c52e6
Successfully built hidapi
Installing collected packages: hidapi
Successfully installed hidapi-0.10.1
I'm not a python person, so if you can point me to what I've missed, it would be much appreciated, as I'd like to give your script a try.

Thanks.
 
Old 12-14-2020, 01:35 AM   #12
david0
LQ Newbie
 
Registered: Dec 2020
Posts: 2

Rep: Reputation: Disabled
Hi Frank,

there could be various reasons for that. I guess you might be calling pip for a different version than the python version you are using.
You can check that using the following commands:
Code:
$ pip -V
pip 20.3 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
$ python -V                                                                                                                                                                                                    
Python 3.9.0
(The python versions should match)

If thats fine you can see which directories python is scanning for modules by running:
Code:
python -c "import sys; print(sys.path)
 
Old 01-23-2021, 11:33 AM   #13
Alan Davis
LQ Newbie
 
Registered: Sep 2005
Location: Saipan
Distribution: Gentoo
Posts: 8

Rep: Reputation: 0
Function Keys not working normally

I just purchased a Durgod Taurus K320 keyboard. This is a heck of a keyboard. I am running Arch GNU/Linux, and do not ever run Windows. Ever. I don't even care about programming this keyboard. It works perfectly, beyond imagination.

I did encounter one problem: F5-F8 output "~" only, and do not otherwise function. This keyboard does have a macro programming mode. Fn-F12 enables the macro programming mode, and also ends it.

I have tried to install Durgod's Zeus Engine, using Wine. Wine has never been transparent to me; I have frozen up a system in the past while trying to install wine. This Durgod program ran, then stopped running, it's been a lengthy process of installing new tools one after the other. As of now, vulcan is a show stopper. I am fearful of installing the vulcan 32bit libs, as I have been asked to remove nvidia-utils.

It is disappointing that Durgod's software works as it does, especially in the case that any programmed keys are stored in Windows.

I will never use macros. Hence, if I can merely learn how to set the keys F5-F8 as actually F5-F8, I would be happy. I COULD live with it as is, but I am an emacs user, and have set up important keybindings using these keys. My muscle memory on these keys is decades long, so I would love to solve this.

I will attempt to use the python tool that was mentioned. Any further information can only be helpful.

Durgod took painstaking care in manufacturing a keyboard that is at the top of the heap. At least my small heap. I bought the keyboard with MX silent blacks, fearful even then that I would be too noisy for this place around here. However, somehow Durgod made even the space bar and other long keys even more quiet than the ordinary keys.

Alan
 
Old 01-23-2021, 11:53 AM   #14
Alan Davis
LQ Newbie
 
Registered: Sep 2005
Location: Saipan
Distribution: Gentoo
Posts: 8

Rep: Reputation: 0
Well, apparently all is well. Emacs does recognize the F5-F8 keys fine. I am not very clueful about how keyboards work, on the system side. Maybe I'll have to play around with the basics before going any further.

The utility "durgod-keymapper" does run. I would VERY MUCH like to learn more about how it works. As far as I can tell, it may just reset the kb.

Another reason I fell for Free Software all those years ago: people give away the tools that they developed to solve their own problems, not as a 9-5 job. Thank you for this.

What is a "roll" key?

Alan
 
Old 01-23-2021, 03:23 PM   #15
CVAlkan
Member
 
Registered: Nov 2012
Location: Northwest suburbs of Chicago
Distribution: Ubuntu & Mint LTS, Manjaro Rolling; Android
Posts: 242

Original Poster
Rep: Reputation: Disabled
Alan:

Glad you like the keyboard - I also think it's one of the best I've used in years, but in Linux, it is ONLY a keyboard.

The utility it provides in Windows intercepts the keystrokes and reinterprets them with whatever you program using their keymapper. Unlike the Kinesis, these remappings are stored in a Windows file, not in the keyboard. So even though you can run the keymapper in Wine, the keyboard never sees the results of that. I assume the macro record is the same, since I could use a keyboard macro when attached to a Windows machine, but not under any Linus I tried.

By "roll key" are you referring to "n key rollover" by any chance? If so, you can google the term I used and you should get plenty of hits.

Frank
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How arbitration priority register works in Advanced Programmable Interrupt Controller (APIC) ? poovendhan Linux - Kernel 4 12-31-2019 09:56 AM
Programmable Northgate OmniKey Keyboard Woodsman Linux - Hardware 17 08-29-2010 04:03 PM
ACPI power off works with PS/2 keyboard but not with USB keyboard mrwaters Linux - Hardware 5 10-05-2006 05:06 PM
XAWTV works, videodog works, motion works but how to code my own? rylan76 Linux - Hardware 0 01-06-2006 06:30 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 02:58 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration