Comments (32)
@X3n0m0rph59 Here is the layout of the ROCCAT Vulcan Pro (QWERTZ) german layout.
I hope this will help: The FN
Key generate no record.
row 0 0x00, 0x0b, 0x11, 0x17, 0x1c, 0x30, 0x35, 0x3b, 0x41, 0x4e, 0x54, 0x55, 0x56, 0x63, 0x67, 0x6c
row 1 0x01, 0x06, 0x0c, 0x12, 0x18, 0x1d, 0x21, 0x31, 0x36, 0x3c, 0x42, 0x48, 0x4f, 0x57, 0x64, 0x68, 0x6d, 0x71, 0x77, 0x7c, x81
row 2 0x02, 0x07, 0x0d, 0x13, 0x19, 0x1e, 0x22, 0x32, 0x37, 0x3d, 0x43, 0x49, 0x50, 0x58, 0x65, 0x69, 0x6e, 0x72, 0x78, 0x7d, 0x82
row 3 0x03, 0x08, 0x0e, 0x14, 0x1a, 0x1f, 0x23, 0x33, 0x38, 0x3e, 0x44, 0x4a, 0x60, 0x73, 0x79, 0x7e
row 4 0x04, 0x09, 0x0f, 0x15, 0x1b, 0x20, 0x24, 0x34, 0x39, 0x3f, 0x45, 0x4b, 0x52, 0x6a, 0x74, 0x7a, 0x7f, 0x83
row 5 0x05, 0x0a, 0x10, 0x25, 0x46, 0x53, 0x59, 0x66, 0x6b, 0x6f, 0x75
from eruption.
@X3n0m0rph59 Thank you for fixing the 'Left Control' bug
Could you please verify that with this set of changes to following is true:
- If you press and hold down FN, do you see the keys
F1
-F4
andM1
-M6
and the media keys being highlighted?
The following keys are highlighted in the these colors:
ice blue
d
f
y
x
light blue
8
insert
delete
left arrow
F7
F8
F9
red
Page down
green
Num Pad: 8
9
5
6
1
- If you enter GameMode by pressing
FN
+GameMode
, and then press and hold downCAPS LOCK
, do you see the number keys1
-3
beeing highlighted in green?
The following keys where highlighted in red:
ESC
F1
1
2
Tab
q
w
CAPS LOCK
left Shift
<
left Control
Windows Key
Alt
The ^
Key is highlighted in white
Please keep in mind, that I have a German key layout.
from eruption.
@TheMysteriousOH I have pushed the latest round of updates to the
master
branch!I tried my best to guess the key indices but since I don't have access to a ROCCAT Vulcan Pro (non-TKL) I could not test this code.
Key indices are listed in the file
eruption/src/scripts/lib/hwdevices/keyboards/roccat_vulcan_pro.lua
starting at line29
I note the different values in the Bold Lines.
key_to_index['GAME_MODE'] = 104
key_to_index['FN'] = 77
key_to_index['CAPS_LOCK'] = 4
key_to_index['LEFT_SHIFT'] = 5
key_to_index['RIGHT_SHIFT'] = 83
key_to_index['LEFT_CTRL'] = 6
key_to_index['RIGHT_CTRL'] = 90
key_to_index['LEFT_ALT'] = 17
key_to_index['RIGHT_ALT'] = 71
key_to_index['RIGHT_MENU'] = 84key_to_index['ESC'] = 1
key_to_index['F1'] = 12
key_to_index['F2'] = 18
key_to_index['F3'] = 24
key_to_index['F4'] = 29
key_to_index['F5'] = 49
key_to_index['F6'] = 54
key_to_index['F7'] = 60
key_to_index['F8'] = 66
key_to_index['F9'] = 79
key_to_index['F10'] = 85
key_to_index['F11'] = 86
key_to_index['F12'] = 87
key_to_index['INSERT'] = 101
key_to_index['POS1'] = 105
key_to_index['PGUP'] = 110
key_to_index['DEL'] = 102
key_to_index['END'] = 106
key_to_index['PGDWN'] = 111
key_to_index['UP'] = 107
key_to_index['DOWN'] = 108
key_to_index['LEFT'] = 103
key_to_index['RIGHT'] = 112
key_to_index['1'] = 7
key_to_index['2'] = 13
key_to_index['3'] = 19
key_to_index['W'] = 14
key_to_index['A'] = 9
key_to_index['S'] = 15
key_to_index['D'] = 21
The desired final result would be that when you hold down the
FN
key you would see:
- Highlighting of
F1
-F4
in ice blue (these are the profile selectors) ok - Highlighting of
F5
-F8
andF9
-F12
in light blue (special function keys) ok - Highlighting of the macro keys M1-M6 in green (macros) ok
- Highlighting of the
GAME MODE
/SCRL LCK
key (toggle game mode) not ok
The/
on the NumPad is highlighted in red
And in game mode (after pressing
FN
+GAME MODE
/SCRL LCK
key, the game mode should be enabled)
It seems that the daemon will not switch to game mode:
Here is the debug, when I press FN
+ GAME MODE
DEBUG eruption > FPS: 18
DEBUG eruption::hwdevices::roccat_vulcan_pro > |0300fb77 01000000| ...w.... 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::scripting::script::callbacks > Macros: HID event: 2 args: 119
DEBUG eruption::scripting::script::callbacks > Macros: FN key event registered
DEBUG eruption::scripting::script::callbacks > Macros: Key down: Index: 77
DEBUG eruption::hwdevices::roccat_vulcan_pro > |0300fb60 01000000| ...`.... 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::scripting::script::callbacks > Macros: HID event: 2 args: 96
DEBUG eruption::hwdevices::roccat_vulcan_pro > |03002100 00000000| ..!..... 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::hwdevices::roccat_vulcan_pro > |0300fb60 00000000| ...`.... 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::scripting::script::callbacks > Macros: HID event: 1 args: 96
DEBUG eruption::hwdevices::roccat_vulcan_pro > |0300fb77 00000000| ...w.... 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::scripting::script::callbacks > Macros: HID event: 1 args: 119
DEBUG eruption::scripting::script::callbacks > Macros: FN key event registered
DEBUG eruption::scripting::script::callbacks > Macros: Key up: Index: 77
DEBUG eruption > FPS: 18
from eruption.
@X3n0m0rph59, good Job.
Thank you very much. It is working now.
The eruption.service is also running.
If you need further tests for release, please let me now.
from eruption.
FYI:
When I press the FN
key the following keys are highlighted:
M1
- M6
F1
- F4
F9
- F12
from eruption.
@TheMysteriousOH Thanks for the detailed response!
Judging from the description, it seems that the indices for the macro and function keys are still incorrect. I will look into this soon...
from eruption.
I have now edit the file: eruption/src/scripts/lib/hwdevices/keyboards/roccat_vulcan_pro.lua
key_to_index['GAME_MODE'] = 104
The toggle of the Game_Mode is working, but in the opposite order:
When I'm not in Game Mode and I press CAPS LOCK I got the following Colors:
red:
^
green:
<
ALT
blue:
LEFT Shift
F7
F8
F9
d
f
y
x
8
INSERT (M1)
DEL (M4)
RIGHT Control
LEFT Arrow
pink:
Num Pad: 8
9
5
6
0
white:
1
When I press CAPS Lock After switching into Game Mode, no keys where highlighted.
from eruption.
@TheMysteriousOH, thank you very much for providing the USB capture file! I have updated the codebase respectively. Since I currently do not have access to a ROCCAT Vulcan Pro, this is entirely untested.
I pushed out the latest changes to the master
branch. You may want to build it using the PKGBUILD
from support/pkg/arch/PKGBUILD
.
Running eruption-debug-tool
on your device should give you a red/blue test pattern.
$ sudo eruption-debug-tool list
Please stop the Eruption daemon prior to running this tool:
$ sudo systemctl mask eruption.service && sudo systemctl stop eruption.service
You can re-enable Eruption with this command afterwards:
$ sudo systemctl unmask eruption.service && sudo systemctl start eruption.service
Please find the device you want to debug below and use its respective
index number (column 1) as the device index for the other sub-commands of this tool
Index: 00: ID: 1e7d:2dd2 ROCCAT/ROCCAT Kone Pure Ultra Subdev: 0
Index: 01: ID: 1e7d:2dd2 ROCCAT/ROCCAT Kone Pure Ultra Subdev: 1
Index: 02: ID: 1e7d:2dd2 ROCCAT/ROCCAT Kone Pure Ultra Subdev: 2
Index: 03: ID: 1e7d:2dd2 ROCCAT/ROCCAT Kone Pure Ultra Subdev: 3
Index: 04: ID: 1e7d:311a ROCCAT/ROCCAT Vulcan Pro TKL Subdev: 0
Index: 05: ID: 1e7d:311a ROCCAT/ROCCAT Vulcan Pro TKL Subdev: 1
Index: 06: ID: 1e7d:311a ROCCAT/ROCCAT Vulcan Pro TKL Subdev: 2
Index: 07: ID: 1e7d:311a ROCCAT/ROCCAT Vulcan Pro TKL Subdev: 3
Enumeration completed
Please try the subdev 1 first. On my system that would be the device with index 5:
$ sudo eruption-debug-tool run-tests 5
from eruption.
@X3n0m0rph59 thank you for your work.
Herte is the result of my test:
$ sudo eruption-debug-tool list
Please stop the Eruption daemon prior to running this tool:
$ sudo systemctl mask eruption.service && sudo systemctl stop eruption.service
You can re-enable Eruption with this command afterwards:
$ sudo systemctl unmask eruption.service && sudo systemctl start eruption.service
Please find the device you want to debug below and use its respective
index number (column 1) as the device index for the other sub-commands of this tool
Index: 00: ID: 46d:c52b Logitech/USB Receiver Subdev: 0
Index: 01: ID: 46d:c52b Logitech/USB Receiver Subdev: 1
Index: 02: ID: 46d:c52b Logitech/USB Receiver Subdev: 2
Index: 03: ID: 1e7d:30f7 ROCCAT/ROCCAT Vulcan Pro Subdev: 0
Index: 04: ID: 1e7d:30f7 ROCCAT/ROCCAT Vulcan Pro Subdev: 1
Index: 05: ID: 1e7d:30f7 ROCCAT/ROCCAT Vulcan Pro Subdev: 2
Index: 06: ID: 1e7d:30f7 ROCCAT/ROCCAT Vulcan Pro Subdev: 3
Index: 07: ID: 46d:a29 Logitech/Logitech Wireless Headset Subdev: 3
Enumeration completed
$ sudo eruption-debug-tool run-tests 4
Please stop the Eruption daemon prior to running this tool:
$ sudo systemctl mask eruption.service && sudo systemctl stop eruption.service
You can re-enable Eruption with this command afterwards:
$ sudo systemctl unmask eruption.service && sudo systemctl start eruption.service
Index: 04: ID: 1e7d:30f7 ROCCAT/ROCCAT Vulcan Pro Subdev: 1
Bound driver: ROCCAT Vulcan Pro
$
But I did not get the red/blue test Pattern
from eruption.
@TheMysteriousOH, thanks for taking your time to try this out! I just pushed out the latest batch of changes to the master
branch. Again, this code is entirely untested, since I have no access to the hardware.
I believe that I fixed multiple bugs within the code of the ROCCAT Vulcan Pro driver module. Please try again with eruption-debug-tool
revision 0.0.7
.
$ eruption-debug-tool -V
...
eruption-debug-tool 0.0.7
from eruption.
@X3n0m0rph59, thank you for the reply.
The test with the eruption-debug-tool have the same result.
No change of the keyboard lights.
sudo eruption-debug-tool run-tests 4
Please stop the Eruption daemon prior to running this tool:
$ sudo systemctl mask eruption.service && sudo systemctl stop eruption.service
You can re-enable Eruption with this command afterwards:
$ sudo systemctl unmask eruption.service && sudo systemctl start eruption.service
Index: 04: ID: 1e7d:30f7 ROCCAT/ROCCAT Vulcan Pro Subdev: 1
Bound driver: ROCCAT Vulcan Pro
Step 1
Step 2 skipped
Step 3
Step 4
Step 5
In the next step I have unmask the eruption.service and unplug and replug the keyboard.
Attached you find the systemlog, maybe this will help.
eruption.log
Please, let me know if you need more tests.
from eruption.
@TheMysteriousOH, thanks again for testing and for providing the log file! I just fixed two bugs that crept in. I hope that it works now...
Please be sure that you are using version 0.0.8
of the eruption-debug-tool
.
from eruption.
@TheMysteriousOH great! I am glad that the initialization of the device is working now!
What probably will not work currently:
- The
FN
key? - Highlight of the macro keys
M1-M6
whenFN
is pressed? - Neighbor topology maps still need to be updated, some effects will show wrong results when keys on the numpad are pressed
- Some of the parameters in
eruption/src/scripts/lib/hwdevices/keyboards/roccat_vulcan_pro.lua
still need to be updated
I am working on eruption-util
, a companion tool to Eruption that allows a user to determine most of the required parameters and tables, like e.g. the neighbor topology maps, etc just by pressing keys that are highlighted by said utility. It will need to be refined somewhat though, to work on the ROCCAT Vulcan Pro. I am working on it...
from eruption.
@TheMysteriousOH, okay at least this part seems to be working as intended!
from eruption.
@X3n0m0rph59, Please let me know, if I should test the eruption-tool
.
If I record the rows:
sudo eruption-util record-topology rows 4
At row 1 it jumps to row 2 after pressing the page up
key, before I can press the keys on the num pad
from eruption.
@TheMysteriousOH It would be really cool if you could generate new, or update the existing topology maps for the ROCCAT Vulcan Pro!
The code for eruption-util
still contains some hard-coded values and fixed assumptions. This needs to be fixed first. I will update the eruption-util
soon, and let you know!
from eruption.
@X3n0m0rph59 I have seen that you updated the eruption-util
I have tested sudo eruption-util record-topology rows 4
And got an error on the 4th Row:
Please press all keys in row 4, press ESC to skip
INFO eruption_util > Recorded key with index 4
INFO eruption_util > Recorded key with index 9
INFO eruption_util > Recorded key with index 15
INFO eruption_util > Recorded key with index 21
INFO eruption_util > Recorded key with index 27
INFO eruption_util > Recorded key with index 32
INFO eruption_util > Recorded key with index 36
INFO eruption_util > Recorded key with index 52
INFO eruption_util > Recorded key with index 57
INFO eruption_util > Recorded key with index 63
INFO eruption_util > Recorded key with index 69
INFO eruption_util > Recorded key with index 75
INFO eruption_util > Recorded key with index 82
INFO eruption_util > Recorded key with index 106
INFO eruption_util > Recorded key with index 116
The application panicked (crashed).
Message: index out of bounds: the len is 102 but the index is 102
Location: eruption-util/src/main.rs:800
Backtrace omitted.
Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
zsh: abort sudo eruption-util record-topology rows 4
from eruption.
@TheMysteriousOH Thanks for submitting the row topology of the ROCCAT Vulcan Pro! This seems to be pretty much consistent with the configuration of the ROCCAT Vulcan 1xx:
I have updated the source code accordingly:
eruption/src/hwdevices/roccat_vulcan_pro.rs
eruption/src/scripts/lib/hwdevices/keyboards/roccat_vulcan_pro.lua
Row 5 is differing slightly, it seems that it is missing a key around the space bar?
from eruption.
@X3n0m0rph59 Yes you are right, sorry.
The last Key was missing 0x80
the ,
key on the Num Block
here is the correct row 5:
0x05, 0x0a, 0x10, 0x25, 0x46, 0x53, 0x59, 0x66, 0x6b, 0x6f, 0x75, 0x80
from eruption.
@TheMysteriousOH Thank you again! I have incorporated the changes into the latest push to the master
branch.
from eruption.
There is a Bug with the left Control
key.
Some Key combination are no longer working, when the eruption.service is started.
For example:
Control
+ d
Control
+ w
Control
+ r
Control
+ t
The right Control Key ist working
If I stoped the eruption.service, the left Control key is working as expected
from eruption.
@TheMysteriousOH I looked into this, but as I don't have the hardware available I can not try out any changes. So far I have been unable to spot the issue.
Could you please provide some more context? Eruption debug logs would be nice to have! Please rebuild from source and run:
$ sudo RUST_LOG=debug target/debug/eruption -c support/config/eruption-dev.conf
Then press the LEFT CTRL
(plus some other key) and please post the full log output!
To verify that Eruption is emitting an invalid event to the upper layers of the input stack, could you please run:
$ sudo evtest
and select the Eruption Virtual Keyboard
, then press the LEFT CTRL
key and LEFT CTRL
+ w
(try to reproduce the bug) and please post the full log output!
from eruption.
@X3n0m0rph59 thank you for take attention on this topic.
Sorry for my late reply, I have this keyboard only at work.
$ sudo RUST_LOG=debug target/release/eruption -c support/config/eruption-dev.conf
Eruption is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Eruption is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Eruption. If not, see <http://www.gnu.org/licenses/>.
INFO eruption > Starting Eruption - Linux user-mode input and LED driver for keyboards, mice and other devices: Version 0.1.20 (release build)
WARN eruption > ** EXPERIMENTAL FEATURES are ENABLED, this may expose serious bugs! **
INFO eruption > Loading saved state...
INFO eruption > Registering plugins...
INFO eruption::plugin_manager > Registering plugin: Keyboard - Keyboard related functions
INFO eruption::plugin_manager > Registering plugin: Mouse - Mouse related functions
INFO eruption::plugin_manager > Registering plugin: Macros - Inject programmable keyboard and mouse events
INFO eruption::plugin_manager > Registering plugin: Introspection - Provide runtime status of the Eruption daemon
INFO eruption::plugin_manager > Registering plugin: Persistence - A storage and persistence layer for Lua Scripts
INFO eruption::plugin_manager > Registering plugin: Profiles - Switch profiles based on system state
INFO eruption::plugin_manager > Registering plugin: System - Basic system information and status
INFO eruption::plugin_manager > Registering plugin: Sensors - Query system sensor values
INFO eruption::plugin_manager > Registering plugin: Audio - Audio related functions
INFO eruption::plugin_manager > Registering plugin: Animal - Simulation of organic movements (support library)
INFO eruption::plugins::persistence > Loading persistent state data from disk...
INFO eruption > Plugins loaded and initialized successfully
INFO eruption > Enumerating connected devices...
DEBUG eruption::hwdevices > Found unsupported HID device: 0x46d:0xc52b - Logitech USB Receiver
DEBUG eruption::hwdevices > Found unsupported HID device: 0x46d:0xc52b - Logitech USB Receiver
DEBUG eruption::hwdevices > Found unsupported HID device: 0x46d:0xc52b - Logitech USB Receiver
DEBUG eruption::hwdevices > Found supported HID device: 0x1e7d:0x30f7 - ROCCAT ROCCAT Vulcan Pro
INFO eruption::hwdevices > Found supported keyboard device: 0x1e7d:0x30f7 (0003:0009:00) - ROCCAT ROCCAT Vulcan Pro
INFO eruption::hwdevices::roccat_vulcan_pro > Bound driver: ROCCAT Vulcan Pro
DEBUG eruption::hwdevices > Found supported HID device: 0x1e7d:0x30f7 - ROCCAT ROCCAT Vulcan Pro
DEBUG eruption::hwdevices > Found supported HID device: 0x1e7d:0x30f7 - ROCCAT ROCCAT Vulcan Pro
DEBUG eruption::hwdevices > Found supported HID device: 0x1e7d:0x30f7 - ROCCAT ROCCAT Vulcan Pro
DEBUG eruption::hwdevices > Found unsupported HID device: 0x46d:0xa29 - Logitech Logitech Wireless Headset
INFO eruption > Opening keyboard device...
INFO eruption > Initializing keyboard device...
INFO eruption > Configuring keyboard LEDs...
INFO eruption > Firmware revision: <unknown>
INFO eruption > Spawning keyboard input thread...
INFO eruption > Device enumeration completed
INFO eruption > Performing late initializations...
INFO eruption > Initializing D-Bus API...
DEBUG eruption > Registering filesystem watcher...
INFO eruption > Late initializations completed
INFO eruption > Startup completed
DEBUG eruption > Entering the main loop now...
INFO eruption > Switching to profile: /var/lib/eruption/profiles/matrix.profile
DEBUG eruption::scripting::script > Applying parameter Bool { name: "horizontal", description: "Horizontal or vertical", default: true }
DEBUG eruption::scripting::script > Applying parameter Int { name: "direction", description: "-1 == left/down, +1 == right/up", min: None, max: None, default: -1 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "scale_factor", description: "Scale factor of the alpha value", min: Some(0.0), max: Some(255.0), default: 127.0 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "speed_divisor", description: "Speed of the wave", min: Some(0.0), max: Some(1000.0), default: 25.0 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "wave_length", description: "Wave length divisor", min: Some(0.0), max: Some(1000.0), default: 4.0 }
DEBUG eruption::scripting::script > Applying parameter Color { name: "color_wave", description: "Color of the wave", min: None, max: None, default: 0 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "opacity", description: "Opacity value in the range 0.0 .. 1.0, where 1.0 is fully opaque", min: Some(0.0), max: Some(1.0), default: 1.0 }
DEBUG eruption::scripting::script > Applying parameter Color { name: "color_background", description: "Background color", min: None, max: None, default: 4294905872 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "opacity", description: "Opacity value in the range 0.0 .. 1.0, where 1.0 is fully opaque", min: Some(0.0), max: Some(1.0), default: 1.0 }
DEBUG eruption::scripting::script > Applying parameter Int { name: "ghost_backoff_secs", description: "Time (in seconds) that has to pass, before ghost typing commences", min: Some(0), max: Some(120), default: 10 }
DEBUG eruption::scripting::script::callbacks > Loading device specific Lua script: 'keyboards/roccat_vulcan_pro.lua'
DEBUG eruption::scripting::script > Applying parameter Float { name: "ghost_intensity", description: "The higher the value, the more ghost typing", min: Some(0.0), max: Some(10.0), default: 1.5 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "afterglow_step", description: "Step afterglow animation every [n] frames", min: Some(0.0), max: Some(10.0), default: 1.0 }
DEBUG eruption::scripting::script > Applying parameter Color { name: "color_afterglow", description: "Afterglow color", min: None, max: None, default: 721420287 }
DEBUG eruption::scripting::script > Applying parameter Color { name: "color_step_afterglow", description: "Color value that gets subtracted from afterglow every [n] frames", min: None, max: None, default: 252316170 }
DEBUG eruption::scripting::script > Applying parameter Color { name: "color_shockwave", description: "Color of the shockwave", min: None, max: None, default: 754974719 }
DEBUG eruption::scripting::script > Applying parameter Color { name: "color_step_shockwave", description: "Color value that gets subtracted from the shockwave every [n] frames", min: None, max: None, default: 84215045 }
DEBUG eruption::scripting::script > Applying parameter Int { name: "shockwave_divisor", description: "Controls the spread of the shockwave. Range: [1..15], lower values mean less spread", min: Some(1), max: Some(15), default: 12 }
DEBUG eruption::scripting::script::callbacks > Loading device specific Lua script: 'keyboards/roccat_vulcan_pro.lua'
DEBUG eruption::scripting::script > Applying parameter Float { name: "afterglow_step", description: "Step afterglow animation every [n] frames", min: Some(0.0), max: Some(10.0), default: 1.0 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "hue_step_afterglow", description: "Angle value that gets subtracted from afterglow every [n] frames", min: Some(0.0), max: Some(360.0), default: 10.0 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "opacity", description: "Opacity value in the range 0.0 .. 1.0, where 1.0 is fully opaque", min: Some(0.0), max: Some(1.0), default: 0.5 }
DEBUG eruption::scripting::script::callbacks > Loading device specific Lua script: 'keyboards/roccat_vulcan_pro.lua'
DEBUG eruption::scripting::script::callbacks > Loading device specific Lua script: 'keyboards/roccat_vulcan_pro.lua'
DEBUG eruption::scripting::script > Applying parameter Float { name: "animation_delay", description: "Step animation every [n] frames", min: Some(0.0), max: Some(10.0), default: 1.0 }
DEBUG eruption::scripting::script > Applying parameter Color { name: "color_highlight", description: "Highlight color", min: None, max: None, default: 4279242768 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "highlight_opacity", description: "Opacity value in the range 0.0 .. 1.0, where 1.0 is fully opaque", min: Some(0.0), max: Some(1.0), default: 1.0 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "overlay_opacity", description: "Opacity value in the range 0.0 .. 1.0, where 1.0 is fully opaque", min: Some(0.0), max: Some(1.0), default: 1.0 }
DEBUG eruption::scripting::script > Applying parameter Int { name: "highlight_step", description: "Step TTL value for highlight effect each frame by [n]", min: Some(0), max: Some(256), default: 32 }
DEBUG eruption::scripting::script > Applying parameter Int { name: "overlay_step", description: "Step TTL value for overlays each frame by [n]", min: Some(0), max: Some(255), default: 6 }
DEBUG eruption::scripting::script > Applying parameter Float { name: "opacity", description: "Opacity value in the range 0.0 .. 1.0, where 1.0 is fully opaque", min: Some(0.0), max: Some(1.0), default: 1.0 }
DEBUG eruption::scripting::script > Applying parameter String { name: "requires", description: "Import macro definitions sub-module", default: "macros/user-macros" }
DEBUG eruption::scripting::script::callbacks > Loading device specific Lua script: 'keyboards/roccat_vulcan_pro.lua'
DEBUG eruption::hwdevices > Picking evdev device: /dev/input/event4
INFO eruption > Now listening on keyboard: /dev/input/event4
INFO eruption > Input device name: "ROCCAT ROCCAT Vulcan Pro"
INFO eruption > Input device ID: bus 0x3 vendor 0x1e7d product 0x30f7
INFO eruption > Physical location: usb-0000:00:14.0-2/input0
INFO eruption > Grabbing the keyboard device exclusively
DEBUG eruption::dbus_interface > Message: Message { Type: Signal, Path: "/org/freedesktop/DBus", Interface: "org.freedesktop.DBus", Member: "NameAcquired", Sender: "org.freedesktop.DBus", Destination: ":1.8875", Serial: 2, Args: [":1.8875"] }
DEBUG eruption::dbus_interface > Message: Message { Type: Signal, Path: "/org/freedesktop/DBus", Interface: "org.freedesktop.DBus", Member: "NameAcquired", Sender: "org.freedesktop.DBus", Destination: ":1.8875", Serial: 3, Args: ["org.eruption"] }
DEBUG eruption > FPS: 18
DEBUG eruption > FPS: 18
DEBUG eruption > FPS: 18
DEBUG eruption::scripting::script::callbacks > Macros: Key down: Index: 6
DEBUG eruption::hwdevices::roccat_vulcan_pro > |0300fb17 01000000| ........ 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::scripting::script::callbacks > Macros: HID event: 2 args: 23
DEBUG eruption::scripting::script::callbacks > Macros: Key down: Index: 6
DEBUG eruption::scripting::script::callbacks > Macros: Key down: Index: 21
DEBUG eruption::plugins::macros > Keyboard event has been dropped as requested
DEBUG eruption::plugins::macros > Keyboard event has been dropped as requested
DEBUG eruption::hwdevices::roccat_vulcan_pro > |0300fb2c 01000000| ...,.... 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::scripting::script::callbacks > Macros: HID event: 2 args: 44
DEBUG eruption::scripting::script::callbacks > Macros: Key up: Index: 21
DEBUG eruption::plugins::macros > Keyboard event has been dropped as requested
DEBUG eruption::plugins::macros > Keyboard event has been dropped as requested
DEBUG eruption::hwdevices::roccat_vulcan_pro > |0300fb2c 00000000| ...,.... 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::scripting::script::callbacks > Macros: HID event: 1 args: 44
DEBUG eruption::hwdevices::roccat_vulcan_pro > |0300fb17 00000000| ........ 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::scripting::script::callbacks > Macros: HID event: 1 args: 23
DEBUG eruption::scripting::script::callbacks > Macros: Key up: Index: 6
DEBUG eruption > FPS: 17
DEBUG eruption > FPS: 18
DEBUG eruption::hwdevices::roccat_vulcan_pro > |0300fb17 01000000| ........ 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::scripting::script::callbacks > Macros: HID event: 2 args: 23
DEBUG eruption::scripting::script::callbacks > Macros: Key down: Index: 6
DEBUG eruption > FPS: 18
DEBUG eruption::hwdevices::roccat_vulcan_pro > |0300fb2e 01000000| ........ 00000000
DEBUG eruption::hwdevices::roccat_vulcan_pro > 00000008
DEBUG eruption::scripting::script::callbacks > Macros: HID event: 2 args: 46
DEBUG eruption::scripting::script::callbacks > Macros: Key down: Index: 28
^C DEBUG eruption > Left the main loop
INFO eruption > Shutting down all Lua VMs now...
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C WARN eruption > Timed out while waiting for a Lua VM to shut down, terminating now
INFO eruption::plugins::persistence > Storing persistent state data to disk...
INFO eruption > Closing all devices now...
^C^C^C DEBUG eruption > Saving state...
INFO eruption > Exiting now
^C%
$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Power Button
/dev/input/event2: Logitech Logitech Wireless Headset Consumer Control
/dev/input/event3: Logitech Logitech Wireless Headset
/dev/input/event4: ROCCAT ROCCAT Vulcan Pro
/dev/input/event6: Logitech Webcam C925e
/dev/input/event7: Logitech MX Master 2S
/dev/input/event10: HDA Intel PCH Front Mic
/dev/input/event11: HDA Intel PCH Line Out CLFE
/dev/input/event12: HDA Intel PCH Front Headphone
/dev/input/event14: HDA ATI HDMI HDMI/DP,pcm=3
/dev/input/event15: HDA ATI HDMI HDMI/DP,pcm=7
/dev/input/event16: HDA ATI HDMI HDMI/DP,pcm=8
/dev/input/event17: HDA ATI HDMI HDMI/DP,pcm=9
/dev/input/event18: HDA ATI HDMI HDMI/DP,pcm=10
/dev/input/event19: HDA ATI HDMI HDMI/DP,pcm=11
/dev/input/event20: HDA Intel PCH Rear Mic
/dev/input/event21: HDA Intel PCH Line
/dev/input/event22: HDA Intel PCH Line Out Front
/dev/input/event23: HDA Intel PCH Line Out Surround
/dev/input/event24: ROCCAT ROCCAT Vulcan Pro
/dev/input/event25: Eruption Virtual Keyboard
/dev/input/event26: Eruption Virtual Mouse
Select the device event number [0-26]: 25
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xffff product 0x123 version 0x1
Input device name: "Eruption Virtual Keyboard"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 1 (KEY_ESC)
Event code 2 (KEY_1)
Event code 3 (KEY_2)
Event code 4 (KEY_3)
Event code 5 (KEY_4)
Event code 6 (KEY_5)
Event code 7 (KEY_6)
Event code 8 (KEY_7)
Event code 9 (KEY_8)
Event code 10 (KEY_9)
Event code 11 (KEY_0)
Event code 12 (KEY_MINUS)
Event code 13 (KEY_EQUAL)
Event code 14 (KEY_BACKSPACE)
Event code 15 (KEY_TAB)
Event code 16 (KEY_Q)
Event code 17 (KEY_W)
Event code 18 (KEY_E)
Event code 19 (KEY_R)
Event code 20 (KEY_T)
Event code 21 (KEY_Y)
Event code 22 (KEY_U)
Event code 23 (KEY_I)
Event code 24 (KEY_O)
Event code 25 (KEY_P)
Event code 26 (KEY_LEFTBRACE)
Event code 27 (KEY_RIGHTBRACE)
Event code 28 (KEY_ENTER)
Event code 29 (KEY_LEFTCTRL)
Event code 30 (KEY_A)
Event code 31 (KEY_S)
Event code 32 (KEY_D)
Event code 33 (KEY_F)
Event code 34 (KEY_G)
Event code 35 (KEY_H)
Event code 36 (KEY_J)
Event code 37 (KEY_K)
Event code 38 (KEY_L)
Event code 39 (KEY_SEMICOLON)
Event code 40 (KEY_APOSTROPHE)
Event code 41 (KEY_GRAVE)
Event code 42 (KEY_LEFTSHIFT)
Event code 43 (KEY_BACKSLASH)
Event code 44 (KEY_Z)
Event code 45 (KEY_X)
Event code 46 (KEY_C)
Event code 47 (KEY_V)
Event code 48 (KEY_B)
Event code 49 (KEY_N)
Event code 50 (KEY_M)
Event code 51 (KEY_COMMA)
Event code 52 (KEY_DOT)
Event code 53 (KEY_SLASH)
Event code 54 (KEY_RIGHTSHIFT)
Event code 55 (KEY_KPASTERISK)
Event code 56 (KEY_LEFTALT)
Event code 57 (KEY_SPACE)
Event code 58 (KEY_CAPSLOCK)
Event code 59 (KEY_F1)
Event code 60 (KEY_F2)
Event code 61 (KEY_F3)
Event code 62 (KEY_F4)
Event code 63 (KEY_F5)
Event code 64 (KEY_F6)
Event code 65 (KEY_F7)
Event code 66 (KEY_F8)
Event code 67 (KEY_F9)
Event code 68 (KEY_F10)
Event code 69 (KEY_NUMLOCK)
Event code 70 (KEY_SCROLLLOCK)
Event code 71 (KEY_KP7)
Event code 72 (KEY_KP8)
Event code 73 (KEY_KP9)
Event code 74 (KEY_KPMINUS)
Event code 75 (KEY_KP4)
Event code 76 (KEY_KP5)
Event code 77 (KEY_KP6)
Event code 78 (KEY_KPPLUS)
Event code 79 (KEY_KP1)
Event code 80 (KEY_KP2)
Event code 81 (KEY_KP3)
Event code 82 (KEY_KP0)
Event code 83 (KEY_KPDOT)
Event code 85 (KEY_ZENKAKUHANKAKU)
Event code 86 (KEY_102ND)
Event code 87 (KEY_F11)
Event code 88 (KEY_F12)
Event code 89 (KEY_RO)
Event code 90 (KEY_KATAKANA)
Event code 91 (KEY_HIRAGANA)
Event code 92 (KEY_HENKAN)
Event code 93 (KEY_KATAKANAHIRAGANA)
Event code 94 (KEY_MUHENKAN)
Event code 95 (KEY_KPJPCOMMA)
Event code 96 (KEY_KPENTER)
Event code 97 (KEY_RIGHTCTRL)
Event code 98 (KEY_KPSLASH)
Event code 99 (KEY_SYSRQ)
Event code 100 (KEY_RIGHTALT)
Event code 102 (KEY_HOME)
Event code 103 (KEY_UP)
Event code 104 (KEY_PAGEUP)
Event code 105 (KEY_LEFT)
Event code 106 (KEY_RIGHT)
Event code 107 (KEY_END)
Event code 108 (KEY_DOWN)
Event code 109 (KEY_PAGEDOWN)
Event code 110 (KEY_INSERT)
Event code 111 (KEY_DELETE)
Event code 113 (KEY_MUTE)
Event code 114 (KEY_VOLUMEDOWN)
Event code 115 (KEY_VOLUMEUP)
Event code 116 (KEY_POWER)
Event code 117 (KEY_KPEQUAL)
Event code 119 (KEY_PAUSE)
Event code 121 (KEY_KPCOMMA)
Event code 123 (KEY_HANJA)
Event code 124 (KEY_YEN)
Event code 125 (KEY_LEFTMETA)
Event code 126 (KEY_RIGHTMETA)
Event code 127 (KEY_COMPOSE)
Event code 128 (KEY_STOP)
Event code 129 (KEY_AGAIN)
Event code 130 (KEY_PROPS)
Event code 131 (KEY_UNDO)
Event code 132 (KEY_FRONT)
Event code 133 (KEY_COPY)
Event code 134 (KEY_OPEN)
Event code 135 (KEY_PASTE)
Event code 136 (KEY_FIND)
Event code 137 (KEY_CUT)
Event code 138 (KEY_HELP)
Event code 140 (KEY_CALC)
Event code 142 (KEY_SLEEP)
Event code 144 (KEY_FILE)
Event code 150 (KEY_WWW)
Event code 155 (KEY_MAIL)
Event code 158 (KEY_BACK)
Event code 159 (KEY_FORWARD)
Event code 161 (KEY_EJECTCD)
Event code 163 (KEY_NEXTSONG)
Event code 164 (KEY_PLAYPAUSE)
Event code 165 (KEY_PREVIOUSSONG)
Event code 166 (KEY_STOPCD)
Event code 172 (KEY_HOMEPAGE)
Event code 173 (KEY_REFRESH)
Event code 176 (KEY_EDIT)
Event code 177 (KEY_SCROLLUP)
Event code 178 (KEY_SCROLLDOWN)
Event code 179 (KEY_KPLEFTPAREN)
Event code 180 (KEY_KPRIGHTPAREN)
Event code 183 (KEY_F13)
Event code 184 (KEY_F14)
Event code 185 (KEY_F15)
Event code 186 (KEY_F16)
Event code 187 (KEY_F17)
Event code 188 (KEY_F18)
Event code 189 (KEY_F19)
Event code 190 (KEY_F20)
Event code 191 (KEY_F21)
Event code 192 (KEY_F22)
Event code 193 (KEY_F23)
Event code 194 (KEY_F24)
Event code 240 (KEY_UNKNOWN)
Event code 464 (KEY_FN)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1615961253.733546, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70028
Event: time 1615961253.733546, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0
Event: time 1615961253.733546, -------------- SYN_REPORT ------------
Event: time 1615961258.016491, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615961258.016491, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1615961258.016491, -------------- SYN_REPORT ------------
Event: time 1615961258.137533, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615961258.137533, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1615961258.137533, -------------- SYN_REPORT ------------
Event: time 1615961258.956531, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615961258.956531, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1615961258.956531, -------------- SYN_REPORT ------------
Event: time 1615961259.205628, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7001a
Event: time 1615961259.205628, type 1 (EV_KEY), code 183 (KEY_F13), value 1
Event: time 1615961259.205628, -------------- SYN_REPORT ------------
Event: time 1615961259.262532, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7001a
Event: time 1615961259.262532, type 1 (EV_KEY), code 183 (KEY_F13), value 0
Event: time 1615961259.262532, -------------- SYN_REPORT ------------
Event: time 1615961259.435542, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615961259.435542, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1615961259.435542, -------------- SYN_REPORT ------------
Event: time 1615961278.294572, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615961278.294572, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1615961278.294572, -------------- SYN_REPORT ------------
Event: time 1615961278.435572, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615961278.435572, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1615961278.435572, -------------- SYN_REPORT ------------
Event: time 1615961278.943525, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615961278.943525, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1615961278.943525, -------------- SYN_REPORT ------------
Event: time 1615961279.187575, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70007
Event: time 1615961279.187575, type 1 (EV_KEY), code 184 (KEY_F14), value 1
Event: time 1615961279.187575, -------------- SYN_REPORT ------------
Event: time 1615961279.248519, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70007
Event: time 1615961279.248519, type 1 (EV_KEY), code 184 (KEY_F14), value 0
Event: time 1615961279.248519, -------------- SYN_REPORT ------------
Event: time 1615961279.366549, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615961279.366549, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1615961279.366549, -------------- SYN_REPORT ------------
Event: time 1615961281.068622, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615961281.068622, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1615961281.068622, -------------- SYN_REPORT ------------
Event: time 1615961281.301472, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70006
Event: time 1615961281.301472, type 1 (EV_KEY), code 46 (KEY_C), value 1
Event: time 1615961281.301472, -------------- SYN_REPORT ------------
^C%
Thr keys that I have pressed:
LEFT CTRL
LEFT CTRL
+ w
LEFT CTRL
LEFT CTRL
+ d
from eruption.
@TheMysteriousOH Thank you for posting the logs! I believe this to be fixed now by the latest changes, pushed to the master
branch.
Due to a wrong set of key indices in eruption/src/scripts/lib/hwdevices/keyboards/roccat_vulcan_pro.lua
, the EasyShift+ feature got activated by pressing the LEFT CTRL
key. This caused Eruption to alter the stream of generated input events, and inject the events KEY_F13
instead of LEFT CTRL
+ W
and KEY_F14
instead of LEFT CTRL
+ D
.
Could you please verify that with this set of changes to following is true:
- If you press and hold down FN, do you see the keys
F1
-F4
andM1
-M6
and the media keys being highlighted? - If you enter GameMode by pressing
FN
+GameMode
, and then press and hold downCAPS LOCK
, do you see the number keys1
-3
beeing highlighted in green?
Since I don't have access to a ROCCAT Vulcan Pro (non-TKL), I can not verify this myself.
from eruption.
@TheMysteriousOH I have pushed the latest round of updates to the master
branch!
I tried my best to guess the key indices but since I don't have access to a ROCCAT Vulcan Pro (non-TKL) I could not test this code.
Key indices are listed in the file eruption/src/scripts/lib/hwdevices/keyboards/roccat_vulcan_pro.lua
starting at line 29
key_to_index['GAME_MODE'] = 104
key_to_index['FN'] = 65
key_to_index['CAPS_LOCK'] = 4
key_to_index['LEFT_SHIFT'] = 5
key_to_index['RIGHT_SHIFT'] = 83
key_to_index['LEFT_CTRL'] = 6
key_to_index['RIGHT_CTRL'] = 90
key_to_index['LEFT_ALT'] = 17
key_to_index['RIGHT_ALT'] = 71
key_to_index['RIGHT_MENU'] = 84
key_to_index['ESC'] = 1
key_to_index['F1'] = 14
key_to_index['F2'] = 21
key_to_index['F3'] = 26
key_to_index['F4'] = 31
key_to_index['F5'] = 41
key_to_index['F6'] = 48
key_to_index['F7'] = 54
key_to_index['F8'] = 60
key_to_index['F9'] = 66
key_to_index['F10'] = 72
key_to_index['F11'] = 78
key_to_index['F12'] = 80
key_to_index['INSERT'] = 85
key_to_index['POS1'] = 89
key_to_index['PGUP'] = 94
key_to_index['DEL'] = 86
key_to_index['END'] = 90
key_to_index['PGDWN'] = 95
key_to_index['UP'] = 91
key_to_index['DOWN'] = 92
key_to_index['LEFT'] = 87
key_to_index['RIGHT'] = 96
key_to_index['1'] = 9
key_to_index['2'] = 15
key_to_index['3'] = 22
key_to_index['W'] = 16
key_to_index['A'] = 11
key_to_index['S'] = 17
key_to_index['D'] = 24
It would be really cool if you could go through this list and check the debug output of the Eruption daemon!
So e.g. if you press key LEFT_CTRL
Eruption will print Macros: Key down: Index: 6
. Therefore we need to assign the value 6
.
The desired final result would be that when you hold down the FN
key you would see:
- Highlighting of
F1
-F4
in ice blue (these are the profile selectors) - Highlighting of
F5
-F8
andF9
-F12
in light blue (special function keys) - Highlighting of the macro keys M1-M6 in green (macros)
- Highlighting of the
GAME MODE
/SCRL LCK
key (toggle game mode)
And in game mode (after pressing FN
+ GAME MODE
/SCRL LCK
key, the game mode should be enabled)
- The
CAPS LOCK
/EASY SHIFT
key should turn red whenFN
is held down to signal that the EasyShift feature is enabled.
If you hold down CAPS LOCK
/EASY SHIFT
while game mode is enabled, you should see:
- Flashing
CAPS LOCK
/EASY SHIFT
key in red and white - The keys
1
,2
and3
should be highlighted in green, since the defaultmacros.lua
binds 3 example user macros to these keys - The keys
ESC
andF1
-F12
should be highlighted in blue (They are assigned a remapping toMUTE
and toF13
-F24
) - The keys
M1
-M6
should be highlighted in pink. They are used to switch between different EasyShift layers. FN
should be highlighted in blue
from eruption.
@TheMysteriousOH Thank you very much, this really helped a lot!
I have incorporated your changes to the code and pushed out the latest round of updates to the master
branch!
Highlighting of the GAME MODE/SCRL LCK key (toggle game mode) not ok
The / on the NumPad is highlighted in red
I took a wild guess and assigned key_to_index['GAME_MODE'] = 95
. If this is not the right index for the SCRL LCK
key, you should be able to obtain the correct key index by pressing SCRL LCK
without the FN
key being held down.
I also changed the USB HID code of GAME_MODE_KEY = 96
(taken from the log Macros: HID event: 1 args: 96
). I hope that with these changes, the daemon is able to switch to game mode now!
Please tell me if the daemon now correctly does the following things when in game mode:
- The CAPS LOCK/EASY SHIFT key should turn red when FN is held down to signal that the EasyShift feature is enabled.
If you hold down CAPS LOCK/EASY SHIFT while game mode is enabled, you should see:
- Flashing CAPS LOCK/EASY SHIFT key in red and white
- The keys 1, 2 and 3 should be highlighted in green, since the default macros.lua binds 3 example user macros to these keys
- The keys ESC and F1 - F12 should be highlighted in blue (They are assigned a remapping to MUTE and to F13 - F24)
- The keys M1 - M6 should be highlighted in pink. They are used to switch between different EasyShift layers.
- FN should be highlighted in blue
from eruption.
@TheMysteriousOH Thanks again for providing this information!
I believe you maybe can work around the issue by stopping the Eruption daemon, turning off game mode and then restart the Eruption daemon again.
If you hold down CAPS LOCK/EASY SHIFT while game mode is enabled, you should see:
- Flashing CAPS LOCK/EASY SHIFT key in red and white
- The keys 1, 2 and 3 should be highlighted in green, since the default macros.lua binds 3 example user macros to these keys
- The keys ESC and F1 - F12 should be highlighted in blue (They are assigned a remapping to MUTE and to F13 - F24)
- The keys M1 - M6 should be highlighted in pink. They are used to switch between different EasyShift layers.
- FN should be highlighted in blue
Will have a look at this soon...
from eruption.
@X3n0m0rph59 at the moment I can not reproduce the error.
At the moment there are no keys highlighted when I press the CAPS LOCK
key.
Independently if i'm in GAME MODE or not.
Several restart of the eruption daemon did not help.
I get only keys highlighted when I press the FN
key.
from eruption.
I am using a Roccat Vulcan Pro keyboard on Ubuntu 20.10.
The last few changes you made to roccat_vulcan_pro.lua may have disturbed my keyboard settings.
( Game Mode is off )
- Volume control does'nt have that greate gauge/progress bar light effect
- Pressing Fn now only lights up d,f,y,x in cyan and / red and 0,1,5,8,9,6 in green
Maybe it depends on the keyboard's firmware version?
from eruption.
@TheMysteriousOH, @DirkSchueler I have just reverted the last changes to the "hardware definition" Lua script file of the ROCCAT Vulcan Pro.
This is entirely untested, since I lack the hardware. Please let me know if this fixes the problems.
from eruption.
That's by far better!
Holding Fn key now lights F-keys, M-keys as before.
But...
- DivideBy (/) in red light while pressing Fn
- Still no light effect on volume change. Turning the wheel removes current Profile for approx. 1 sec.
from eruption.
Volume change works fine for me, I only had one issue: It's stuck on the Matrix profile, but after renaming the matrix.profile file to matrix1.profile, I could change profiles.
Also, in the eruption-GUI, the FN key color is always displayed as black, but the actual FN key lights up as it should
When holding the FN key, the keys are all displayed as black in the eruption-GUI
For me the DivideBy (รท on the numpad) key also lights up in red when holding the FN key
from eruption.
Related Issues (20)
- ROCCAT Kone Pro Air debounce time
- Vulcan pro and kone pro not seen on gui HOT 2
- lots of logging to /var/log/warn "Could not process a mouse event: receiving on a closed channel" HOT 11
- Move "ROCCAT Vulcan Pro Keyboard" out of experimental HOT 1
- Bugs HOT 3
- Eruption 0.3.3 fails to start automatically on Ubuntu 23.04 HOT 3
- Add Support for ite8291 (XMG/Tuxedo(?) Laptop Keyboards) HOT 1
- Daemon Helper Service Lockup
- eruption-fx-proxy.service failt to start
- Vulcan Pro - wrong keys get illuminated, others don't even though they should
- Vulcan Pro - Correct Keys get Illuminated, GUI shows wrong Keys
- Keyboard's LED interface spams KEY_UNKNOWN after Eruption updates the keyboard LEDs HOT 1
- Add support for Roccat Vulkan II HOT 5
- Eruption profile switcher shell extension not compatible with Gnome 45 HOT 2
- Add Support for ROCCAT Pyro
- Support for Systemd-less Systems HOT 1
- Issues with Media keys HOT 3
- [RESOLVED] Eruption does not recognise Vulcan TKL Pro, With PPA (on Pop!_OS) HOT 1
- Add Support for Roccat VULCAN PRO [NOT TKL]
- Installation fails on Manjaro HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eruption.