Jump to content
Corsair Community

K60 Keyboard : Significant issue with pipe key ( | ) repeating when used


sportpeppers

Recommended Posts

I am having severe issues with my K60 repeating when used in normal typing.

 

This key is used frequently for many operations on my linux workstation and for programming. To recreate, i press 'shift'+\ and release quickly.

 

'|\\ ' is what comes out.

 

When typing some thing like this:

ps ax |\\ grep foo

 

you can see that it has the potential to inflict a deleterious effect on my sanity.

 

The timing seems to have changed slightly in firmware 1.31, but it still occurs and i more frequently get two repeats instead of one repeat like i used to.

 

Is there expected to be any effort toward a fix for this issue ?

Link to comment
Share on other sites

I should add that I did some additional testing and it appears that the problem with the pipe/backslash key repeating occurs regardless of what key you press beforehand (not just shift).

 

for example, i can press any letter key, then the backslash, and get a repeat.

 

Example: s\\\d\\\e\\\q\\\t\\\

Link to comment
Share on other sites

Yes, I've reflashed the firmware. The issue seems to only occur in linux. In windows the issue does not seem to be present.

 

It seems I am not the only one with this issue, but it is a major problem for me and I was hoping to get some comment on it as to whether there is any focus on resolving it or not.

Link to comment
Share on other sites

Well the thing is the K60 is a standard USB input device without any bells or whistles beyond the mechanical switches, no?

 

Keyboards are fairly well understood and this device is the only one i've ever experienced this issue with (i have other keyboards as well), and I do not seem to be the only one with this problem (maybe other linux users can chime in ?)

 

It strikes me that the issue is something in the signals that the keyboard is sending, rather than the driver itself. In reading the firmware logs, this keyboard model has experienced repeating and stuck keys on Windows in the past as well which required firmware updates, I have a hard time believing that the fault is in linux. Is there any chance that this issue could be investigated ?

Link to comment
Share on other sites

  • Corsair Employee
The K60 is a standard plug and play device, but it is not an 8-bit standard keyboard like a typical rubber dome unit. We don't officially support Linux but I can pass your findings along to the engineering team.
Link to comment
Share on other sites

I have the same problem in Linux. I updated to firmware 1.34 and disabled the multimedia keys with WinLock+F1 and the problem is fixed. But then, I no longer have multimedia keys. :)
Link to comment
Share on other sites

  • 6 months later...

I purchased a Corsair Vengeance K70B keyboard the other day and noticed the same issues in Arch Linux. I don't know a lot about the Linux kernel, HID, or keyboards in general so bear with me.

 

In HID it seems there is a constant flow of updates for keys informing if they are pressed or not. All of the keys seem ok but the one exception is the backslash key. After depressing the key, a message update is sent saying it was depressed but IMMEDIATELY after another message is sent saying it is lifted up. It seems backslash is the only key that does this.

 

I have whipped up a quick hack for hid-core.c in the linux kernel. All it does is ignore this message. A more permanent and cleaner solution is to provide a custom hid-vengeance driver. Posting messes the whole format up but you get the idea.

 

 

--- drivers/hid/hid-core.c 2014-01-19 16:27:37.674829730 -0500

+++ hid-core_patched.c 2014-01-19 16:24:39.992006709 -0500

@@ -1130,6 +1130,14 @@

{

struct hid_driver *hdrv = hid->driver;

int ret;

+ static bool skip = false;

+

+ if (skip) {

+ skip = false;

+ return;

+ }

+ if (usage->code == KEY_BACKSLASH && value == 1)

+ skip = true;

 

if (!list_empty(&hid->debug_list))

hid_dump_input(hid, usage, value);

Link to comment
Share on other sites

  • 1 month later...

Just registered to say that The Gigabyte Osmium keyboard (Aivia Osmium) also has this issue of non-repeating backlash key, and repeating spuriously when held down and other keys are pressed, like: \a\\\s\\\d\\\f\\\, and holding \ while pressing/releasing shift: \|\\|\\|\\|\\|\\|\\|\\|\\|\\ etc

 

I don't have any answers, but this seems to be an issue specific to Linux. It doesn't happen in the BIOS (Gigabyte 990FXA-UD3, F10a), in Windows, or in FreeBSD 10 console.

 

Does Corsair share some electronics with Gigabyte? Seems to be pretty coincidental that two different manufacturers can have the exact same issue.

Link to comment
Share on other sites

I purchased a Corsair Vengeance K70B keyboard the other day and noticed the same issues in Arch Linux. I don't know a lot about the Linux kernel, HID, or keyboards in general so bear with me.

 

In HID it seems there is a constant flow of updates for keys informing if they are pressed or not. All of the keys seem ok but the one exception is the backslash key. After depressing the key, a message update is sent saying it was depressed but IMMEDIATELY after another message is sent saying it is lifted up. It seems backslash is the only key that does this.

 

I have whipped up a quick hack for hid-core.c in the linux kernel. All it does is ignore this message. A more permanent and cleaner solution is to provide a custom hid-vengeance driver. Posting messes the whole format up but you get the idea.

 

 

--- drivers/hid/hid-core.c 2014-01-19 16:27:37.674829730 -0500

+++ hid-core_patched.c 2014-01-19 16:24:39.992006709 -0500

@@ -1130,6 +1130,14 @@

{

struct hid_driver *hdrv = hid->driver;

int ret;

+ static bool skip = false;

+

+ if (skip) {

+ skip = false;

+ return;

+ }

+ if (usage->code == KEY_BACKSLASH && value == 1)

+ skip = true;

 

if (!list_empty(&hid->debug_list))

hid_dump_input(hid, usage, value);

 

I tried applying your patch to the Ubuntu 13.10 kernel (Linux 3.11; the line numbers were a bit different but that's all), and it worked for my Gigabyte Osmium keyboard. Backslash now repeats like it should, and it no longer inserts extra keypresses when it's held down while other keys are pressed.

 

There are other issues with the Osmium keyboard though (like Num/Caps/Scroll lock lights not visibly changing but the keys actually do change state), but that's a minor issue.

Link to comment
Share on other sites

  • 3 months later...
  • 2 months later...

Hi, I have tried to make a proper patch for this bug. It is a problem in the kernel rather than with the keyboards, although it could be argued that the keyboard behave in a strange way. Anway, the patch is submitted to the linux-input list for review but there are no comments on it yet.

If you have a Corsair K70, Gigabyte Osmium, QPAD MK-85 or other similar keyboard that has the repeat bug it would be great it you can test the patch. If you test it let me know if it works and also what keyboard you have, it is also important what language version you are using, US and non-US keyboards will behave differently. Note that the backslash key on US keyboards will have other labels on other versions of the keyboard.

 

Here is the mail from linux-input with the patch:

 

http://article.gmane.org/gmane.linux.kernel.input/37583

 

Thanks

Link to comment
Share on other sites

  • 3 months later...
  • 3 weeks later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...