Skip to content
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

keyball46: earlier ball detection #97

Merged
merged 1 commit into from
Mar 5, 2022
Merged

keyball46: earlier ball detection #97

merged 1 commit into from
Mar 5, 2022

Conversation

koron
Copy link
Collaborator

@koron koron commented Mar 5, 2022

Keyball46においてボール有無の検出タイミングを早めました。

Keyball46は他のKeyballと異なり、左右検出の方法がボールの有無に依存します。
しかしボールの有無の検出は pointing_device_driver_init で行っているのに対し
初回の左右チェックは matrix_init で行っており
これは pointing_device_driver_init よりも先行します。
またこの初回の結果はメモリ上にキャッシュされいくつかのシーンで使用されます。

これによりキャッシュされた左右情報と、ボールの有無の検出後の左右情報に矛盾が生じ
意図しない動作を引き起こしてました。
具体的には左手ボールで左にUSBを接続したときに顕在化してました。
(ほかにも幾つかのケースで顕在化していたと考えられます)

本修正ではKeyball46のみボールの有無検出を keyboard_pre_init_kb にまで早めました。
これにより初回の左右チェック前にボール有無情報がセットされ、元々の意図通りに動作します。

変更を46にのみ限定したのは、この修正に伴い39や61のテストをやり直さなければならないのを嫌ったためです。
将来的にはコードを統一してメンテコストを下げる意味で、39や61のコードも共通化しても良いかもしれません。

@koron koron self-assigned this Mar 5, 2022
@koron koron added the bug Something isn't working label Mar 5, 2022
@koron
Copy link
Collaborator Author

koron commented Mar 5, 2022

ビルド成功したのでマージします。

@koron koron merged commit 117518a into Yowkees:main Mar 5, 2022
@koron koron deleted the keyball46-fix-left-detection branch March 5, 2022 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant