forked from zmkfirmware/zmk
-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Squashed commit of the following: commit ee855f4 Author: Alexander Krikun <[email protected]> Date: Thu Sep 23 22:00:07 2021 +0300 prettier commit 2bf5e44 Author: Alexander Krikun <[email protected]> Date: Thu Sep 23 21:31:41 2021 +0300 clang-format commit ec85b7a Author: Alexander Krikun <[email protected]> Date: Thu Sep 23 21:30:43 2021 +0300 Moved tick duration commit cbce1db Author: Alexander Krikun <[email protected]> Date: Thu Sep 23 21:04:47 2021 +0300 Added documentation for new features commit 8088585 Author: Alexander Krikun <[email protected]> Date: Wed Sep 22 00:27:52 2021 +0300 Send mouse messages from dedicated thread commit 992bbc0 Author: krikun98 <[email protected]> Date: Thu Sep 2 04:09:07 2021 +0300 Cleanup and acceleration fixes commit 0bcd44a Author: krikun98 <[email protected]> Date: Tue Aug 31 01:49:28 2021 +0300 Add messages to BLE queue without a waiting interval commit 96660dc Author: krikun98 <[email protected]> Date: Fri Aug 27 03:19:57 2021 +0300 Simplified tick rate and made it configurable commit eb089b5 Author: krikun98 <[email protected]> Date: Fri Aug 27 01:31:30 2021 +0300 Added dedicated mouse work queue option commit 8fc5962 Author: Okke Formsma <[email protected]> Date: Fri May 14 20:32:14 2021 +0200 feat(mouse keys): add events, smoothing and acceleration commit 728f42e Author: krikun98 <[email protected]> Date: Sat May 15 00:42:29 2021 +0300 Modified mouse_timer_unref to account for errors commit b4ec49e Author: Okke Formsma <[email protected]> Date: Fri May 14 13:29:55 2021 +0200 Simplify binary arithmetic commit 4d08f97 Author: krikun98 <[email protected]> Date: Mon May 3 12:32:36 2021 +0300 Report refactor (added macros) commit 359f35b Author: krikun98 <[email protected]> Date: Mon May 3 11:48:19 2021 +0300 Reverted mouse buttons 9-16 commit 6de29af Author: krikun98 <[email protected]> Date: Mon May 3 11:14:00 2021 +0300 Mouse movement coordinate signedness consistency commit 9957b28 Author: krikun98 <[email protected]> Date: Mon May 3 11:13:33 2021 +0300 Review edits: macro, event override fix, cosmetics commit fddadb9 Author: krikun98 <[email protected]> Date: Mon May 3 09:54:35 2021 +0300 Added new mouse movement macros commit 0893c76 Author: krikun98 <[email protected]> Date: Sun May 2 18:36:09 2021 +0300 Add the doc page to the sidebar commit 571e457 Author: krikun98 <[email protected]> Date: Sun May 2 17:08:12 2021 +0300 Documentation refactor commit 58178a7 Author: krikun98 <[email protected]> Date: Sun May 2 16:47:30 2021 +0300 Raised BLE mouse report queue size commit 345ef42 Author: Dmitry Tsykunov <[email protected]> Date: Sun May 2 16:18:41 2021 +0300 Implemented Rinh's suggestion to remove deadlocks commit 141a525 Author: krikun98 <[email protected]> Date: Sun May 2 13:52:23 2021 +0300 clang-format commit a339a9a Author: krikun98 <[email protected]> Date: Sun May 2 13:30:57 2021 +0300 Cleaning out prototype traces commit e2b97f1 Author: Dmitry Tsykunov <> Date: Sat May 1 09:38:57 2021 +0300 Add mouse behaviour documentation commit ee51487 Author: Dmitry Tsykunov <> Date: Thu Apr 29 18:11:28 2021 +0300 Continuous mouse movement prototype commit dc2e30d Author: Dmitry Tsykunov <> Date: Thu Apr 29 17:52:22 2021 +0300 Add mouse movement event commit 3fb874f Author: Dmitry Tsykunov <> Date: Thu Apr 29 04:49:04 2021 +0300 Mouse-related behaviours commit 016256b Author: Alexander Krikun <[email protected]> Date: Thu Apr 29 11:29:53 2021 +0300 Bluetooth tuning, mouse wheel and movement backend commit 54ac765 Author: Alexander Krikun <[email protected]> Date: Wed Apr 28 15:07:54 2021 +0300 Fine-tuning report, 16 buttons commit b14b024 Author: Alexander Krikun <[email protected]> Date: Tue Apr 27 18:24:11 2021 +0300 Preliminary work for mouse click
- Loading branch information
Showing
41 changed files
with
1,344 additions
and
10 deletions.
There are no files selected for viewing
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
/ { | ||
behaviors { | ||
/omit-if-no-ref/ mkp: behavior_mouse_key_press { | ||
compatible = "zmk,behavior-mouse-key-press"; | ||
label = "MOUSE_KEY_PRESS"; | ||
#binding-cells = <1>; | ||
}; | ||
}; | ||
}; |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
/ { | ||
behaviors { | ||
/omit-if-no-ref/ mmv: behavior_mouse_move { | ||
compatible = "zmk,behavior-mouse-move"; | ||
label = "MOUSE_MOVE"; | ||
#binding-cells = <1>; | ||
delay-ms = <0>; | ||
time-to-max-speed-ms = <300>; | ||
acceleration-exponent = <1>; | ||
}; | ||
}; | ||
}; |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
/ { | ||
behaviors { | ||
/omit-if-no-ref/ mwh: msc: behavior_mouse_scroll { | ||
compatible = "zmk,behavior-mouse-scroll"; | ||
label = "MOUSE_SCROLL"; | ||
#binding-cells = <1>; | ||
delay-ms = <0>; | ||
time-to-max-speed-ms = <300>; | ||
acceleration-exponent = <0>; | ||
}; | ||
}; | ||
}; |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
description: Mouse key press/release behavior | ||
|
||
compatible: "zmk,behavior-mouse-key-press" | ||
|
||
include: one_param.yaml |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Mouse move | ||
|
||
compatible: "zmk,behavior-mouse-move" | ||
|
||
include: one_param.yaml | ||
|
||
properties: | ||
delay-ms: | ||
type: int | ||
time-to-max-speed-ms: | ||
type: int | ||
acceleration-exponent: | ||
type: int |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Mouse scroll | ||
|
||
compatible: "zmk,behavior-mouse-scroll" | ||
|
||
include: one_param.yaml | ||
|
||
properties: | ||
delay-ms: | ||
type: int | ||
time-to-max-speed-ms: | ||
type: int | ||
acceleration-exponent: | ||
type: int |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/* | ||
* Copyright (c) 2020 The ZMK Contributors | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
#pragma once | ||
|
||
/* Mouse press behavior */ | ||
/* Left click */ | ||
#define MB1 (0x01) | ||
#define LCLK (MB1) | ||
|
||
/* Right click */ | ||
#define MB2 (0x02) | ||
#define RCLK (MB2) | ||
|
||
/* Middle click */ | ||
#define MB3 (0x04) | ||
#define MCLK (MB3) | ||
|
||
#define MB4 (0x08) | ||
|
||
#define MB5 (0x10) | ||
|
||
#define MB6 (0x20) | ||
|
||
#define MB7 (0x40) | ||
|
||
#define MB8 (0x80) | ||
|
||
/* Mouse move behavior */ | ||
#define MOVE_VERT(vert) ((vert)&0xFFFF) | ||
#define MOVE_VERT_DECODE(encoded) (int16_t)((encoded)&0x0000FFFF) | ||
#define MOVE_HOR(hor) (((hor)&0xFFFF) << 16) | ||
#define MOVE_HOR_DECODE(encoded) (int16_t)(((encoded)&0xFFFF0000) >> 16) | ||
|
||
#define MOVE(hor, vert) (MOVE_HOR(hor) + MOVE_VERT(vert)) | ||
|
||
#define MOVE_UP MOVE_VERT(-600) | ||
#define MOVE_DOWN MOVE_VERT(600) | ||
#define MOVE_LEFT MOVE_HOR(-600) | ||
#define MOVE_RIGHT MOVE_HOR(600) | ||
|
||
/* Mouse scroll behavior */ | ||
#define SCROLL_VERT(vert) ((vert)&0xFFFF) | ||
#define SCROLL_VERT_DECODE(encoded) (int16_t)((encoded)&0x0000FFFF) | ||
#define SCROLL_HOR(hor) (((hor)&0xFFFF) << 16) | ||
#define SCROLL_HOR_DECODE(encoded) (int16_t)(((encoded)&0xFFFF0000) >> 16) | ||
|
||
#define SCROLL(hor, vert) (SCROLL_HOR(hor) + SCROLL_VERT(vert)) | ||
|
||
#define SCROLL_UP SCROLL_VERT(10) | ||
#define SCROLL_DOWN SCROLL_VERT(-10) | ||
#define SCROLL_LEFT SCROLL_HOR(-10) | ||
#define SCROLL_RIGHT SCROLL_HOR(10) |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
|
||
/* | ||
* Copyright (c) 2020 The ZMK Contributors | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include <zephyr.h> | ||
#include <zmk/hid.h> | ||
#include <zmk/event_manager.h> | ||
#include <zmk/mouse.h> | ||
|
||
struct zmk_mouse_button_state_changed { | ||
zmk_mouse_button_t buttons; | ||
bool state; | ||
int64_t timestamp; | ||
}; | ||
|
||
ZMK_EVENT_DECLARE(zmk_mouse_button_state_changed); | ||
|
||
static inline struct zmk_mouse_button_state_changed_event * | ||
zmk_mouse_button_state_changed_from_encoded(uint32_t encoded, bool pressed, int64_t timestamp) { | ||
return new_zmk_mouse_button_state_changed((struct zmk_mouse_button_state_changed){ | ||
.buttons = HID_USAGE_ID(encoded), .state = pressed, .timestamp = timestamp}); | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
|
||
/* | ||
* Copyright (c) 2020 The ZMK Contributors | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include <zephyr.h> | ||
#include <zmk/event_manager.h> | ||
#include <zmk/mouse.h> | ||
|
||
struct zmk_mouse_move_state_changed { | ||
struct vector2d max_speed; | ||
struct mouse_config config; | ||
bool state; | ||
int64_t timestamp; | ||
}; | ||
|
||
ZMK_EVENT_DECLARE(zmk_mouse_move_state_changed); | ||
|
||
static inline struct zmk_mouse_move_state_changed_event * | ||
zmk_mouse_move_state_changed_from_encoded(uint32_t encoded, struct mouse_config config, | ||
bool pressed, int64_t timestamp) { | ||
struct vector2d max_speed = (struct vector2d){ | ||
.x = MOVE_HOR_DECODE(encoded), | ||
.y = MOVE_VERT_DECODE(encoded), | ||
}; | ||
|
||
return new_zmk_mouse_move_state_changed((struct zmk_mouse_move_state_changed){ | ||
.max_speed = max_speed, .config = config, .state = pressed, .timestamp = timestamp}); | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
|
||
/* | ||
* Copyright (c) 2020 The ZMK Contributors | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include <zephyr.h> | ||
#include <zmk/event_manager.h> | ||
#include <zmk/mouse.h> | ||
#include <dt-bindings/zmk/mouse.h> | ||
|
||
struct zmk_mouse_scroll_state_changed { | ||
struct vector2d max_speed; | ||
struct mouse_config config; | ||
bool state; | ||
int64_t timestamp; | ||
}; | ||
|
||
ZMK_EVENT_DECLARE(zmk_mouse_scroll_state_changed); | ||
|
||
static inline struct zmk_mouse_scroll_state_changed_event * | ||
zmk_mouse_scroll_state_changed_from_encoded(uint32_t encoded, struct mouse_config config, | ||
bool pressed, int64_t timestamp) { | ||
struct vector2d max_speed = (struct vector2d){ | ||
.x = SCROLL_HOR_DECODE(encoded), | ||
.y = SCROLL_VERT_DECODE(encoded), | ||
}; | ||
|
||
return new_zmk_mouse_scroll_state_changed((struct zmk_mouse_scroll_state_changed){ | ||
.max_speed = max_speed, .config = config, .state = pressed, .timestamp = timestamp}); | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
|
||
/* | ||
* Copyright (c) 2020 The ZMK Contributors | ||
* | ||
* SPDX-License-Identifier: MIT | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include <dt-bindings/zmk/mouse.h> | ||
#include <zephyr.h> | ||
#include <zmk/event_manager.h> | ||
#include <zmk/mouse.h> | ||
|
||
struct zmk_mouse_tick { | ||
struct vector2d max_move; | ||
struct vector2d max_scroll; | ||
struct mouse_config move_config; | ||
struct mouse_config scroll_config; | ||
int64_t *start_time; | ||
int64_t timestamp; | ||
}; | ||
|
||
ZMK_EVENT_DECLARE(zmk_mouse_tick); | ||
|
||
static inline struct zmk_mouse_tick_event *zmk_mouse_tick(struct vector2d max_move, | ||
struct vector2d max_scroll, | ||
struct mouse_config move_config, | ||
struct mouse_config scroll_config, | ||
int64_t *movement_start) { | ||
return new_zmk_mouse_tick((struct zmk_mouse_tick){ | ||
.max_move = max_move, | ||
.max_scroll = max_scroll, | ||
.move_config = move_config, | ||
.scroll_config = scroll_config, | ||
.start_time = movement_start, | ||
.timestamp = k_uptime_get(), | ||
}); | ||
} |
Oops, something went wrong.