Forums » Linux
G15 gaming keyboard
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?
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?
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. :)
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. :)
Hm, interesting. I'll try to add the G15 keycodes to the linux version of VO.
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?
Did you have to make any changes to the howto to get it to work?
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.
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.
OK, the most recent version of VO should support the G keys, so please test them. Thanks.
Just read the changelog. *dances* I'll get right on testing it. :)
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.)
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.)
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.
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?
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?
Hmm. good point. If we're allowing tcp connections, why not general file io? I'll look into it.
Yay, we're almost all of the way to a virus platform. We've got unmonitored TCP/IP connections and (soon) file I/O...
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?
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?
I think he means someone downloading a plugin that's actually a virus without knowing what the plugin actually does.
That seems like a risk regardless though...
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.
Never tried from the in game interface, but as you point out binding them manually works fine...