-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maybe Add Support For The Corsair Harpoon #596
Open
JAMingMayo
wants to merge
33
commits into
master
Choose a base branch
from
testing
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
As mentioned in Issue #125 the `ckb` program lacks a way of inspecting the available command line switches. A `--help` option was added to dispaly and elaborate on the available options. To streamline the experience and make the program anticipate further command line options, implement the default QCommandLineParser functionality as documented in http://doc.qt.io/qt-5/qcommandlineparser.html
This is a new development branch for treating the Macro keys G1-18 on the K95 RGB keyboard. The branch depends on the newfx branch. This first version is based on the BINDING-Tab and includes a new tab (macro). The tab is visible when on the binding site a G-button is selected. The text box on the left (macro key actions) can be edited. When you click Apply, the contents of the text window output in the console and delete the text box. This doesn't use anything, but is a start.
This is the second development step for treating the Macro keys G1-18 on the K95 RGB keyboard. If you type a valid key sequence in the Macro Tab -> Macro Key Actions, select at least one G-Key and click Apply, the macro definiton ist sent to the keyboard and active. The Macro definition is saved like all other bindings, so with restart of ckb the macro definitions are re-sent to the keyboard, but you can't see the older definitions in the ckb-panel yet. Reset and Unbind are working properly, Reset to Default is not tested in that commit. Some debug outputs are still active (qDebug) and some ToDos are marked in the source.
In addition to the Macro Key Definition of panel "Macro Key Actions" also the readable form of panel "Macro Text" will now be processed. In this version, the contents of Macro Text is still a sample text.
- Added textpane for Macro Comment - Changes Tab sequence - new class macroreader added - added some signals to handle clear, start, stop
In this version, the following functions are implemented and integrations-tested: - Interface and buttons are stable - Comment field in the user interface is still ingored - Separate thread is implemented for reading the macro keys - The strings read from Keyboard are converted for saving This is currently missing: - Status line / short instructions to use the panel, - The macro comment - More intensive tests - Systematic documentation of the code - Commenting on the modifications to the existing code
In this version, the following functions are implemented and integrations-tested: - Interface and buttons are stable - Comment field in the user interface is still ingored - Separate thread is implemented for reading the macro keys - The strings read from Keyboard are converted for saving This is currently missing: - Status line / short instructions to use the panel, - The macro comment - More intensive tests - Systematic documentation of the code - Commenting on the modifications to the existing code
In this version, the following functions are implemented and integrations-tested: - Interface and buttons are stable - Comment field in the user interface is implemented - some status line / short instructions to use the panel are integrated - a short video tutorial ist created https://youtu.be/qhrKP03_NrM This is currently missing: - More intensive tests - More systematic documentation of the code - Commenting on the modifications to the existing code
This branch sets up the ckb client (and one addition in ckb-daemon) for self defined macros at nearly each key. With this enhancement the 18 G-Keys at the K95 can be used. It adds a new tab "macro" to the bind page as user interface and includes all changes and additions to run the new tab or do the communication with the daemon. This version 0.0.1 handles the key macros in their primary layer, so shift, alt, alt-Gr or meta keys are ignored. It it tested with a K95 RGB on linux (mint 17.1 and 17.2) on different machines.
Extra setting menu has got an additional checkbox. While using large macro definitions, some opSystems lose characters. That ist because the call traffic to the virtual keyboard input seems to be too high. Whith this checkbox set, you get a time delay in two stages: - If more than 20 chars are sent, 30 microseconds after the 20th and each following char - If more than 200 chars are sent, 100 microseconds after the 200th and each following char If you don't have any trouble with lost chars, let this checkbox in off-state.
For the combination of an K95RGB keyboard and the M65RGB mouse there was an initialization bug. The ckb client did send a "Macro clear" command to the driver for the mouse. Because that is unneccessary, there ist no function to handle this and the deamon got a SIGSEGV. This patch fixes that bug. The change in ckb client prevents issuing the command. The Patch in ckb-daemon may be activated by setting INIT_ERROR and only does some debug output.
When adressing a command pipe for the mouse with a macro cmd, the daemon got a null-ptr, because no macro functions are defined yet. This fixes that effect. Using "macro [<modifier>\+]+[<keyname>]+:<def>" is now usable, when sending the macro definition "manually" via echo to the command pipe for the keyboard.
…nctions I noticed the SYN_events were never being posted during macro playback, which is possibly what caused the issue with some of the keys being dropped. It seems to work now even without the delays, but this will need further testing before I remove them.
They should in fact support this command, I'm not sure how it got left out...
This will search through the qt install directory created when `brew install qt5` has been run.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I am kinda new to GitHub so I am sorry if I am posting this in the wrong spot. I just wanted to get that out of the way. But I recently bought a new mouse (Corsair Harpoon) and after buying and bringing it home I remembered that I am on Linux.. So the lighting software doesn't quite work... So I found your software and tried it out but then I realized the mouse isnt supported yet. So I ended up here asking you this question. The mouse is a very popular mouse and it only has 1 light. So I figured it wouldn't be too hard to add support for it. I am sorry if my assumption is incorrect.
Thank you for your time :)