-
-
Notifications
You must be signed in to change notification settings - Fork 40.5k
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
Port SPLIT_USB_DETECT to helix/rev2 #7385
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
scratch that, just the block of debug toggles needs to be removed:void matrix_init(void)
within matrix.c also needs renaming to matrix_setup
void matrix_init(void)
{
- debug_enable = true;
- debug_matrix = true;
- debug_mouse = true;
Tagging @mtei @MakotoKurauchi |
Currently, I am suggesting to MakotoKurauch to change Helix to use oled_driver.c instead of ssd1306.h. At the same time, I am preparing for the transition to split_common. This PR may conflict with the above changes. So please don't do this PR yet. |
This PR adds |
@mtei There are users currently suffering issues so I would rather push for this to go in. split_common generally needs extra work to make it compatible, such as syncing matrix state. This will take extra time to review and merge. (Also that PR changes user keymaps so would have to go through the breaking change process). While this PR is based off another short term fix we have already applied. As for adding |
Now I did the following:
And I tried RGB_TOG key, RGB_MOD key. |
Is it this block that is in play then? qmk_firmware/tmk_core/common/keyboard.c Lines 288 to 316 in 46d0fe4
Where the default implementation of is_master currently always returns true. If so, we can just rename |
@stormbard can you copy in the latest updated found within #7404, this should fix keycode processing and potentially unblock this PR. |
@zvecr I can push the changes but in my testing locally on my helix the right hand LEDs do not toggle off when the toggle key is pressed. Doesn't matter which one is master in this case. I'm also still seeing some intermittent issues with the halves communicating. I'm not sure if this is due to a firmware or hardware issue though and will take suggestions for debugging. |
It sounds like a hardware issue, though I don't have anything on hand to verify that is the case. Does reverting the suggestions within #7404 make it work again? |
Didn't work before or after the changes in #7404. |
After some further testing I believe this change is good. I'm able to get the backlighting to work on both halves as I'd expect. |
I made the patch to be a better implementation than I think. edit:
The 'xulkal' keymap requires To solve this, 'users/xulkal/custom_oled.c' was outside of 'keyboards/helix/rev2', but a similar situation can occur in the source code in 'keyboards/helix/rev2'. Therefore, |
@mtei Can you elaborate further on what the issue is please. The keymap compiles fine, and that suggestion is rather involved to see what the actual problem is. |
You can probably ignore, 'xulkal', helix keymap, I haven't used that board in a while, and usually have a quick turn around on fixing my own keymaps. Though I always do appreciate a heads up when one of my keymaps break. Actually, I see exactly why my keymap breaks, there's a wrapper function I implemented in my user space for switching between split common, and custom split like the helix and I suspect that is now returning the wrong values. Easy fix. |
@mtei I don't see any of those changes being a hard requirement for this PR:
Though if you do want to propose some of those changes, feel free to raise a separate PR. |
I'm not good at English. This sentence was too long for me to understand. So I can't comment, sorry. However, I have confirmed that my patch has been tested and works correctly with all keymaps. Don't forget it.
'helix:xulkal' has problems similar to those solved by #7404. Currently, 'helix:xulkal' can be compiled but is not working properly. If you want 'helix:xulkal' to work correctly, you need to fix it. I checked the operation before and after applying my patch. It has been confirmed that it will not work properly before the patch is applied. It has been confirmed that it works correctly after applying the patch. However, the 'helix:xulkal' problem is certainly outside the scope of this PR. |
Of course I don't care if my patch was not included in this PR. Either way, I approve this PR. However, my patch above will be needed for backward compatibility when Helix changes to use split_common in the future.
'is_master' and 'has_usb()' must not be removed for backward compatibility. You say my patch breaks backward compatibility, which is a misunderstanding. My patch keeps backward compatibility better than the current code of this PR. The current code for this PR causes problems when changing Helix to use split_common. My patch avoids that problem. |
That is a bit of an abstract statement, can you provide an example where this PR breaks backwards compatibility? |
To reiterate what I already wrote above, in this PR's current code, 'is_master' is in 'helix/rev2/matrix.c' and 'has_usb()' is in 'helix/It is in rev2/split_util.c'. |
But thats not a backwards compatibility issue. As there are none being raised, im going to merge this as is. |
Cheers for your work @stormbard! |
* Port SPLIT_USB_DETECT to helix/rev2 * Remove debug toggles. * Rename is_keyboard_master to has_usb in split_util
* Port SPLIT_USB_DETECT to helix/rev2 * Remove debug toggles. * Rename is_keyboard_master to has_usb in split_util
Description
This PR adds SPLIT_USB_DETECT support for those users having issues with Elite-C V3s.
Copied from PR #7195
Types of Changes
Checklist