Commit graph

49 commits

Author SHA1 Message Date
Jacob Palecki
dc6a076537 Adjust test and use constants 2024-07-04 14:02:51 -07:00
Jacob Palecki
814e9bbdb1 Within driver, change primary sensitivity to output DPI 2024-07-04 13:28:42 -07:00
a1xd
2d22da443d rename override to poll time lock 2024-03-21 09:10:37 -04:00
a1xd
0ef6d591c7 set only the lower bound to polling interval by default 2024-03-20 13:07:59 -04:00
a1xd
8350c33dfe
Merge pull request #138 from a1xd/fix-carry-guard
improve carry guard
2023-10-06 14:31:26 -04:00
Jacob Palecki
b0bbe3d5fa Cleanup 2023-10-05 22:29:11 -07:00
Jacob Palecki
eb535a326e init speed_processor in driver + more performant algo 2023-09-15 11:47:32 -07:00
Jacob Palecki
e40ed565cb variable smooth window with cutoff almost working 2023-09-14 15:41:10 -07:00
Jacob Palecki
684c19b7c8 further work on inputspeedprocessor 2023-06-20 21:02:33 -07:00
a1xd
127002a5c9 improve carry guard 2022-07-16 14:32:00 -04:00
a1xd
427a94bc40 rename driver_settings
found a better one

refactor driver/DeviceSetup
2021-09-23 22:34:51 -04:00
a1xd
170713f571 move safeboot check into DriverEntry 2021-09-23 22:28:44 -04:00
a1xd
8680805b26 make profile count dynamic (unlimited) 2021-09-23 22:28:44 -04:00
a1xd
bb575220ab fix kernel bugcheck
initializing the default driver_settings on driver entry blows up the stack size, causing stack check to fail

the default modifier is initialized to noop anyway so it's fine to leave most vars zeroed
2021-09-23 22:28:44 -04:00
a1xd
3dc64cc13a make ioctls constexpr 2021-09-23 22:28:44 -04:00
a1xd
5b659e1cfb add per-device configuration
adds input and [in, out] cap for classic mode
adds input cap for power mode
change wrapper/input, now gets useful device names
change (now dev specific) dpi to adjust sensitivity
change y sensitivity to y/x ratio
remove spaced LUTs

grapher and convert do not build
2021-09-23 22:28:44 -04:00
a1xd
c55d1bfd01 optimize a bit/refactor modify 2021-04-08 02:30:01 -04:00
a1xd
d8140fb31b use callbacks for applying accel 2021-04-01 23:28:41 -04:00
a1xd
2bfe95fb4e check for safe mode before hooking into dev stack
can't stop the driver from being loaded in safe mode, an early return here is the best we can do
2021-04-01 21:35:13 -04:00
a1xd
e9866f27d7 driver - apply accel disregarding num packets
add setting for max time threshold
2021-04-01 18:33:00 -04:00
a1xd
98de0eaac2 add flag to negate device match 2021-04-01 18:15:50 -04:00
a1xd
14bde56daf update rest
grapher is still broken

refactored io / error handling a bit
2021-04-01 01:51:31 -04:00
a1xd
fa3ebfb1eb refactor lut/motivity 2021-03-30 18:27:02 -04:00
a1xd
4456e2bc8b put utility in namespace 2021-03-30 18:26:20 -04:00
a1xd
11045335c1 add zero/inf/nan guards 2021-03-29 19:57:33 -04:00
a1xd
16dc4df3d4 refactor common/settings
only driver compiles

remove accel-base types

merge linear + classic

move gain cap logic into classic impl, cap is now set in terms of output

use cap/limit to determine negation

remove weight, add replacement for power mode only

remove legacy offset option
remove naturalgain mode
add legacy mode flag

naturalgain -> natural
natural -> natural + legacy flag

add dpi setting and more accel args + defaults (prep for ips mode)

replace output speed cap with input cap
2021-03-29 17:14:49 -04:00
a1xd
8dac6b3ff1 add angle snapping
probably works like interaccel
2021-01-21 22:35:37 -05:00
a1xd
0e60e22b73 filter raw input based on id
use device id (from device instance) over first hardware id
use buffered method for all ioctls
update gui/DeviceIDManager to match driver behavior
respond to device change events
desync MouseData and PointData accessors
2021-01-12 17:01:18 -05:00
a1xd
be22e78f96 refactor main callback
check for empty input as suggested by @aroidzap
2021-01-07 12:52:51 -05:00
a1xd
dc38efedbe get hwid when adding device 2021-01-06 12:36:14 -05:00
a1xd
6969310edd size device id/hwids based on docs
this also changes the connect ioctl to not abort when hwid query fails
2021-01-05 18:05:48 -05:00
Tomáš Pazdiora
b4749bfb84 bugfix 2021-01-05 19:34:31 +01:00
Tomáš Pazdiora
b9c79a8d13 revert for loop -> do while (according to a1xd's conclusion) 2021-01-05 19:18:40 +01:00
Tomáš Pazdiora
e11971e733 simplify checking for configuration without specific device 2021-01-05 19:11:48 +01:00
Tomáš Pazdiora
6f1098372b add "Device Hardware ID" setting, to affect only specific device 2021-01-05 04:38:32 +01:00
a1xd
7d14daf1d5 embed version info into assemblies
check app versions against lib, lib against driver

add an 'about' dialog which displays version details, accessible from menu

refactor error handling + add check for negative offset
2020-12-02 05:25:19 -05:00
a1xd
b7bd9f5950 refactor io 2020-12-01 01:41:22 -05:00
a1xd
7e1bd8c5e5 fix dbgprint warning 2020-11-30 23:37:18 -05:00
a1xd
f7f598fef0 Fixed anisotropy not loading correctly on save 2020-10-07 05:17:24 -04:00
a1xd
85aefb4ba1 add arg checks in wrapper
minor changes to settings shape, requires driver reinstall
add error handling to writer

grapher changes:

add prettier serialization + comments
add elements for scale and separated limit/exp
reset irrelevant (invisible) arg input before checks/write
2020-09-27 23:04:29 -04:00
a1xd
75c5f80cad add lut exp to driver 2020-09-22 03:01:34 -04:00
a1xd
7ff79f4e71 add 1s write delay to driver 2020-09-01 22:28:45 -04:00
a1xd
9010cc593a add independent xy accel to driver
other changes:

modifier_args type name is now settings,
which is now the type passed in driver ioctl

remove most settings/args verification from driver,
plan to let gui handle most of it

add another accel arg, rate, which is used to set
the 'accel' parameter of types which call exp (nat/sig),
might want to cap it

add (update) serializable DriverSettings (ModifierArgs) class to
gui and static methods for interop

remove properties from ManagedAccel, its now just a black box
for accessing modifier methods

add exception handling in wrapper_io to throw proper managed types

change SettingsManager::Startup to make a new settings file
if an error occurs during deserialization

change structure of accel types; how offset and weight are applied
now depend on additivity of types

remove tagged_union and add a handrolled variant/visit impl

AccelGui::UpdateActiveValueLabels currently broken for caps
and a few other args

remove gui default layout and initial natural accel setup

cli not updated
2020-08-31 19:41:21 -04:00
a1xd
9d39a2bf6b add a cooldown on write (one second) 2020-08-06 21:43:44 -04:00
a1xd
5241f9783b add read
add function that makes an ioctl call to return the driver's active mouse_modifier
2020-07-31 20:04:19 -04:00
Jacob Palecki
33317e7948 Separate accel implementations into files 2020-07-29 00:35:39 -07:00
Jacob Palecki
b1ef350506 Rename variables and add modify functions 2020-07-28 02:44:09 -07:00
Jacob Palecki
f7a1883e4d Remove extra mode from variables 2020-07-28 02:09:21 -07:00
a1xd
78156f3416 Add project files. 2020-07-22 19:34:13 -04:00