Forums » Linux

G15 gaming keyboard

Sep 18, 2007 logrus link
Hi all,

I've installed the g15tools packages and I've checked that I actually get key presses using keyboard shortcuts in ubuntu.
The scan codes get recorded fine in for the shortcuts (f.ex. 0xb1 for G1 key), however in Vendetta they do not get recorded.

Has anyone else been through this and know what to do? Has anyone made any tools to show vendetta info on the lcd?
Sep 19, 2007 logrus link
Ok, I've had some progress with this.

I've followed this howto to enable the keys in X to have them defined as LCD0-4, M1-3 and G1-18. https://help.ubuntu.com/community/LogitechG15

Unfortunately they are still not fully working in VO. From what I can see when binding the keys in the keyboard control menu ingame the keys are registering, however they seem to be unrecognized as they all show up as a little square. I'd assume this is because VO is compiled with a specific set of key codes, which either means the keys are never going to work or that they might eventually work if GS adds the keys to the client.

Any chance of a response from GS to whether these keys might be added to support the G15 keyboard? I'd be happy to do any amount of testing to get this working. :)
Sep 20, 2007 raybondo link
Hm, interesting. I'll try to add the G15 keycodes to the linux version of VO.
Sep 20, 2007 raybondo link
Hmm, looking at that howto, his keysim values seem not in proper order and the keycodes don't seem to match what G15daemon sends (according to the sourceforge code).

Did you have to make any changes to the howto to get it to work?
Sep 21, 2007 logrus link
I followed the howto exactly from "Adding key symbols to X" and the scancodes match exactly for me. I tested all the buttons with xev and there were no errors or missing keys.

I'm not using the unstable 1.9.0 g15daemon but the latest stable 1.2.7 compiled myself.

I'd be happy to test this on the test server as well if you'd like.
Sep 21, 2007 raybondo link
OK, the most recent version of VO should support the G keys, so please test them. Thanks.
Sep 21, 2007 logrus link
Just read the changelog. *dances* I'll get right on testing it. :)
Sep 21, 2007 logrus link
Ok, just tested them. G keys are still showing up as little squares in the keyboard config list and they still don't seem to be doing anything when pressed. Double-checked that they're producing the correct output with xev:

KeyPress event, serial 29, synthetic NO, window 0x3c00001,
root 0x186, subw 0x0, time 256537502, (684,-356), root:(689,382),
state 0x10, keycode 177 (keysym 0x15000001, G1), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 29, synthetic NO, window 0x3c00001,
root 0x186, subw 0x0, time 256537502, (684,-356), root:(689,382),
state 0x10, keycode 177 (keysym 0x15000001, G1), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

So that seems fine. Looking in wgaf.cfg the keys are bound as:
bind (null) togglefriendlies
bind (null) toggleobjects

Hm. That's not right...

Ok, how about bind'ing them manually? Change out the (null) with G1. PROFIT!!!

So, result is this; G keys do work now. I haven't tried M1-3 or LCD0-4, though the M keys would be good to bind to a lua script that rebinds the G keys so there'll be a total of 54 G keys. :D

Thank you very much raybondo, you're a star! (Rockstar or flaming ball of gas, you decide.)
Sep 21, 2007 raybondo link
Heh, thanks. I'm really happy that you got it to work. However, it doesn't work exactly right. You shouldn't need to manually bind them. I'll get that working eventually. I don't use Linux, so it's more of getting Andy or Michael to test it or use their computers.
Sep 21, 2007 logrus link
Just tested M buttons as well, works fine.

TBH, I'll take 'em any way I can get them and so long as they work I'm happy.

I figured you'd be a Linux user as you got on it so fast. Usually I find that being a minority gets you very little attention. :) Also pleasantly surprised how active on the boards you guys are.

Further question to the G15 keyboard; g15composer requires writing to a named pipe, but if I'm not mistaken the integrated lua interpreter does not allow file read/write? (Or even general io?) Though I also thought I saw it supporting tcp sockets so I could make a network daemon on top of g15composer?
Sep 21, 2007 raybondo link
Hmm. good point. If we're allowing tcp connections, why not general file io? I'll look into it.
Sep 24, 2007 roguelazer link
Yay, we're almost all of the way to a virus platform. We've got unmonitored TCP/IP connections and (soon) file I/O...
Sep 29, 2007 logrus link
How does that make it a virus platform?

On my machine I have python, perl, gcc, java, php and probably quite a few other interpreters that support both sockets and file io. Are they virus platforms as well?
Sep 29, 2007 raybondo link
I think he means someone downloading a plugin that's actually a virus without knowing what the plugin actually does.
Sep 29, 2007 logrus link
That seems like a risk regardless though...
Mar 02, 2009 logrus link
Just came back to VO and I'm seeing that I'm still getting little square boxes instead of G1-18 when trying to bind the buttons in the VO interface. Binding them manually still works though.
Mar 02, 2009 vardonx link
Never tried from the in game interface, but as you point out binding them manually works fine...