mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-07 08:52:46 +00:00
いろいろ途中
This commit is contained in:
parent
baa99f9ff1
commit
b4ac67cf53
@ -10,6 +10,8 @@
|
|||||||
int16_t xOrigin, yOrigin;
|
int16_t xOrigin, yOrigin;
|
||||||
uint16_t lastCursor = 0;
|
uint16_t lastCursor = 0;
|
||||||
int16_t joystick_ratio = 100;
|
int16_t joystick_ratio = 100;
|
||||||
|
int16_t joystick_raw_x = 0;
|
||||||
|
int16_t joystick_raw_y = 0;
|
||||||
|
|
||||||
int16_t axisCoordinate_custom(pin_t pin, uint16_t origin) {
|
int16_t axisCoordinate_custom(pin_t pin, uint16_t origin) {
|
||||||
int8_t direction; // 符号
|
int8_t direction; // 符号
|
||||||
@ -34,6 +36,7 @@ void pointing_device_driver_init(void) {
|
|||||||
xOrigin = analogReadPin(ANALOG_JOYSTICK_X_AXIS_PIN);
|
xOrigin = analogReadPin(ANALOG_JOYSTICK_X_AXIS_PIN);
|
||||||
yOrigin = analogReadPin(ANALOG_JOYSTICK_Y_AXIS_PIN);
|
yOrigin = analogReadPin(ANALOG_JOYSTICK_Y_AXIS_PIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) {
|
report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) {
|
||||||
|
|
||||||
if (timer_elapsed(lastCursor) > ANALOG_JOYSTICK_READ_INTERVAL) { // 多分、指定のミリ秒経過したかを見て処理を走らせている
|
if (timer_elapsed(lastCursor) > ANALOG_JOYSTICK_READ_INTERVAL) { // 多分、指定のミリ秒経過したかを見て処理を走らせている
|
||||||
@ -47,8 +50,11 @@ report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report) {
|
|||||||
jsr = -10;
|
jsr = -10;
|
||||||
}
|
}
|
||||||
|
|
||||||
mouse_report.x = axisCoordinate_custom(ANALOG_JOYSTICK_X_AXIS_PIN, xOrigin) / jsr;
|
joystick_raw_x = axisCoordinate_custom(ANALOG_JOYSTICK_X_AXIS_PIN, xOrigin);
|
||||||
mouse_report.y = axisCoordinate_custom(ANALOG_JOYSTICK_Y_AXIS_PIN, yOrigin) / jsr;
|
joystick_raw_y = axisCoordinate_custom(ANALOG_JOYSTICK_Y_AXIS_PIN, yOrigin);
|
||||||
|
|
||||||
|
mouse_report.x = joystick_raw_x / jsr;
|
||||||
|
mouse_report.y = joystick_raw_y / jsr;
|
||||||
}
|
}
|
||||||
|
|
||||||
return mouse_report;
|
return mouse_report;
|
||||||
|
@ -4,3 +4,5 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
extern int16_t joystick_ratio;
|
extern int16_t joystick_ratio;
|
||||||
|
extern int16_t joystick_raw_x;
|
||||||
|
extern int16_t joystick_raw_y;
|
@ -6,7 +6,10 @@
|
|||||||
"diode_direction": "COL2ROW",
|
"diode_direction": "COL2ROW",
|
||||||
"encoder": {
|
"encoder": {
|
||||||
"rotary": [
|
"rotary": [
|
||||||
{"pin_a": "GP14", "pin_b": "GP15"}
|
{
|
||||||
|
"pin_a": "GP14",
|
||||||
|
"pin_b": "GP15"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"features": {
|
"features": {
|
||||||
@ -30,7 +33,8 @@
|
|||||||
"GP10",
|
"GP10",
|
||||||
"GP11",
|
"GP11",
|
||||||
"GP12",
|
"GP12",
|
||||||
"GP13"
|
"GP13",
|
||||||
|
"GP0"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"processor": "RP2040",
|
"processor": "RP2040",
|
||||||
@ -137,7 +141,7 @@
|
|||||||
2
|
2
|
||||||
],
|
],
|
||||||
"x": 4.25,
|
"x": 4.25,
|
||||||
"y": 2.25
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [
|
"matrix": [
|
||||||
@ -163,6 +167,22 @@
|
|||||||
"x": 3,
|
"x": 3,
|
||||||
"y": 3.25
|
"y": 3.25
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"matrix": [
|
||||||
|
6,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"x": 4.25,
|
||||||
|
"y": 3.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matrix": [
|
||||||
|
6,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"x": 5.25,
|
||||||
|
"y": 3.25
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"matrix": [
|
"matrix": [
|
||||||
5,
|
5,
|
||||||
@ -186,6 +206,14 @@
|
|||||||
],
|
],
|
||||||
"x": 3,
|
"x": 3,
|
||||||
"y": 4.25
|
"y": 4.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matrix": [
|
||||||
|
6,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"x": 4.25,
|
||||||
|
"y": 4.25
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -8,64 +8,64 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
KC_Q , KC_W , KC_E ,
|
KC_Q , KC_W , KC_E ,
|
||||||
KC_TAB , KC_A , KC_S , KC_D ,
|
KC_TAB , KC_A , KC_S , KC_D ,
|
||||||
KC_LSFT, KC_Z , KC_X , KC_C , KC_V ,
|
KC_LSFT, KC_Z , KC_X , KC_C , KC_V ,
|
||||||
KC_LCTL, KC_UP , KC_LALT,
|
KC_LCTL, KC_UP , KC_LALT, KC_1 , KC_2 ,
|
||||||
KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LEFT, KC_DOWN, KC_RGHT, KC_3
|
||||||
),
|
),
|
||||||
|
|
||||||
[1] = LAYOUT(
|
[1] = LAYOUT(
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO
|
KC_NO , KC_NO , KC_NO , KC_NO
|
||||||
),
|
),
|
||||||
|
|
||||||
[2] = LAYOUT(
|
[2] = LAYOUT(
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO
|
KC_NO , KC_NO , KC_NO , KC_NO
|
||||||
),
|
),
|
||||||
|
|
||||||
[3] = LAYOUT(
|
[3] = LAYOUT(
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO
|
KC_NO , KC_NO , KC_NO , KC_NO
|
||||||
),
|
),
|
||||||
|
|
||||||
[4] = LAYOUT(
|
[4] = LAYOUT(
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO
|
KC_NO , KC_NO , KC_NO , KC_NO
|
||||||
),
|
),
|
||||||
|
|
||||||
[5] = LAYOUT(
|
[5] = LAYOUT(
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO
|
KC_NO , KC_NO , KC_NO , KC_NO
|
||||||
),
|
),
|
||||||
|
|
||||||
[6] = LAYOUT(
|
[6] = LAYOUT(
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , MY_BTN2, MY_SCRL, MY_BTN1,
|
KC_NO , MY_BTN2, MY_SCRL, MY_BTN1,
|
||||||
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , KC_NO
|
KC_NO , KC_NO , KC_NO , KC_NO
|
||||||
),
|
),
|
||||||
|
|
||||||
[7] = LAYOUT(
|
[7] = LAYOUT(
|
||||||
KC_NO , KC_NO , KC_NO ,
|
KC_NO , KC_NO , KC_NO ,
|
||||||
KC_NO , KC_NO , MY_CLKD, MY_CLKI,
|
KC_NO , KC_NO , MY_CLKD, MY_CLKI,
|
||||||
QK_BOOT, KC_NO , MY_SCDV, MY_SCDH, KC_NO ,
|
QK_BOOT, KC_NO , MY_SCDV, MY_SCDH, KC_NO ,
|
||||||
KC_NO , MY_JSDD, MY_JSDI,
|
KC_NO , MY_JSDD, MY_JSDI, KC_NO , KC_NO ,
|
||||||
KC_NO , MY_STGE, KC_NO
|
KC_NO , MY_STGE, KC_NO , KC_NO
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -148,6 +148,14 @@ int8_t my_abs(int8_t num) {
|
|||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int16_t my_abs_16(int16_t num) {
|
||||||
|
if (num < 0) {
|
||||||
|
num = -num;
|
||||||
|
}
|
||||||
|
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
|
||||||
// 現在クリックが可能な状態か。 Is it currently clickable?
|
// 現在クリックが可能な状態か。 Is it currently clickable?
|
||||||
bool is_clickable_mode(void) {
|
bool is_clickable_mode(void) {
|
||||||
return state == CLICKABLE || state == CLICKING || state == SCROLLING;
|
return state == CLICKABLE || state == CLICKING || state == SCROLLING;
|
||||||
@ -335,8 +343,49 @@ report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) {
|
|||||||
int8_t current_v = 0;
|
int8_t current_v = 0;
|
||||||
|
|
||||||
#ifdef CONSOLE_ENABLE
|
#ifdef CONSOLE_ENABLE
|
||||||
uprintf("pointing x: %d y:%d \n", current_x, current_y);
|
// uprintf("pointing x: %d y:%d \n", current_x, current_y);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
int16_t range = 100;
|
||||||
|
|
||||||
|
if (true) {
|
||||||
|
uprintf("x: %d, y: %d, raw_x: %d, raw_y: %d \n", current_x, current_y, joystick_raw_x, joystick_raw_y);
|
||||||
|
if ((current_x != 0 || current_y != 0) &&
|
||||||
|
(joystick_raw_x > range || joystick_raw_y > range) == false &&
|
||||||
|
(my_abs_16(joystick_raw_x) + my_abs_16(joystick_raw_y) > 200)){
|
||||||
|
|
||||||
|
if (joystick_raw_y < joystick_raw_x * 3) {
|
||||||
|
// 上
|
||||||
|
uprintf("up\n");
|
||||||
|
} else if (joystick_raw_x < joystick_raw_y * 3) {
|
||||||
|
uprintf("left\n");
|
||||||
|
} else {
|
||||||
|
uprintf("left-up\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// if (current_y < 0) {
|
||||||
|
// if (current_y < current_x * 2) {
|
||||||
|
// // 上
|
||||||
|
// uprintf("up d: %d, x: %d, y: %d, raw_x: %d, raw_y: %d \n", joystick_ratio, current_x, current_y, joystick_raw_x, joystick_raw_y);
|
||||||
|
// } else {
|
||||||
|
// // 左上
|
||||||
|
// uprintf("UL d: %d, x: %d, y: %d, raw_x: %d, raw_y: %d \n", joystick_ratio, current_x, current_y, joystick_raw_x, joystick_raw_y);
|
||||||
|
// }
|
||||||
|
// } else if (current_y == 0 && current_x < 0) {
|
||||||
|
// // 左
|
||||||
|
// uprintf("left d: %d, x: %d, y: %d, raw_x: %d, raw_y: %d \n", joystick_ratio, current_x, current_y, joystick_raw_x, joystick_raw_y);
|
||||||
|
// }
|
||||||
|
|
||||||
|
mouse_report.x = 0;
|
||||||
|
mouse_report.y = 0;
|
||||||
|
mouse_report.h = 0;
|
||||||
|
mouse_report.v = 0;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
return mouse_report;
|
||||||
|
}
|
||||||
|
|
||||||
if (current_x != 0 || current_y != 0) {
|
if (current_x != 0 || current_y != 0) {
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
|
Loading…
Reference in New Issue
Block a user