Fixes for Ploopy devices (#13144)
Co-authored-by: Drashna Jael're <drashna@live.com>
This commit is contained in:
parent
224dcac08f
commit
eba3d68394
10 changed files with 111 additions and 33 deletions
|
@ -18,6 +18,8 @@
|
|||
*/
|
||||
|
||||
#include "trackball_mini.h"
|
||||
#include "wait.h"
|
||||
#include "debug.h"
|
||||
|
||||
#ifndef OPT_DEBOUNCE
|
||||
# define OPT_DEBOUNCE 5 // (ms) Time between scroll events
|
||||
|
@ -35,16 +37,8 @@
|
|||
# define OPT_SCALE 1 // Multiplier for wheel
|
||||
#endif
|
||||
|
||||
#ifndef PLOOPY_DPI_OPTIONS
|
||||
# define PLOOPY_DPI_OPTIONS { CPI375, CPI750, CPI1375 }
|
||||
# ifndef PLOOPY_DPI_DEFAULT
|
||||
# define PLOOPY_DPI_DEFAULT 2
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef PLOOPY_DPI_DEFAULT
|
||||
# define PLOOPY_DPI_DEFAULT 1
|
||||
#endif
|
||||
#define PLOOPY_DPI_OPTIONS { CPI375, CPI750, CPI1375 }
|
||||
#define PLOOPY_DPI_DEFAULT 2
|
||||
|
||||
// Transformation constants for delta-X and delta-Y
|
||||
const static float ADNS_X_TRANSFORM = -1.0;
|
||||
|
@ -173,7 +167,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
|
|||
void keyboard_pre_init_kb(void) {
|
||||
// debug_enable = true;
|
||||
// debug_matrix = true;
|
||||
debug_mouse = true;
|
||||
// debug_mouse = true;
|
||||
// debug_encoder = true;
|
||||
|
||||
setPinInput(OPT_ENC1);
|
||||
|
@ -198,6 +192,22 @@ void keyboard_pre_init_kb(void) {
|
|||
void pointing_device_init(void) {
|
||||
adns_init();
|
||||
opt_encoder_init();
|
||||
|
||||
// reboot the adns.
|
||||
// if the adns hasn't initialized yet, this is harmless.
|
||||
adns_write_reg(REG_CHIP_RESET, 0x5a);
|
||||
|
||||
// wait maximum time before adns is ready.
|
||||
// this ensures that the adns is actuall ready after reset.
|
||||
wait_ms(55);
|
||||
|
||||
// read a burst from the adns and then discard it.
|
||||
// gets the adns ready for write commands
|
||||
// (for example, setting the dpi).
|
||||
adns_read_burst();
|
||||
|
||||
// set the DPI.
|
||||
adns_set_cpi(dpi_array[keyboard_config.dpi_config]);
|
||||
}
|
||||
|
||||
void pointing_device_task(void) {
|
||||
|
@ -223,9 +233,3 @@ void matrix_init_kb(void) {
|
|||
}
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
void keyboard_post_init_kb(void) {
|
||||
adns_set_cpi(dpi_array[keyboard_config.dpi_config]);
|
||||
|
||||
keyboard_post_init_user();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue