Commit Graph

240 Commits

Author SHA1 Message Date
Daniel Pavel 9a2a28e0aa replaced hard-coded register numbers with constants
also re-worked the battery reading code a bit
2013-07-02 12:23:12 +02:00
Daniel Pavel bf5fc42f07 fixed duplicate entries in keyboard tasks 2013-07-02 00:40:34 +02:00
Daniel Pavel 90ab7af069 Anywhere MX and M600 descriptor updates 2013-07-01 19:22:46 +02:00
Daniel Pavel 3436055c7f re-worked (AGAIN) the way the devices are initially set-up
There is absolutely no consistency between the registers and
features receivers have, even if they're the same product_id!
2013-07-01 19:00:26 +02:00
Daniel Pavel 5ebc2634ae (hopefully) better serial read-out for devices 2013-07-01 18:40:03 +02:00
Daniel Pavel ceba698678 moved settings templates into separate .py 2013-07-01 15:24:30 +02:00
Daniel Pavel eaa38c858c properly format battery status string for 0x07 devices 2013-07-01 11:51:20 +02:00
Daniel Pavel 4504045bc6 extended descriptor for M305 2013-07-01 11:49:44 +02:00
Daniel Pavel 9a8d089c73 handle some mystery data packets from older devices 2013-07-01 11:34:54 +02:00
Daniel Pavel 0d56cfbded clean-up in get/set notification flags computation 2013-06-30 17:12:44 +02:00
Daniel Pavel a1c04ce39f renamed 'leds' register to '3leds', in case other may be found later 2013-06-30 15:02:58 +02:00
Daniel Pavel da541e000a put usb ids into separate py file 2013-06-30 14:34:53 +02:00
Daniel Pavel e490162e4f the K400 also has the FN swap feature 2013-06-30 14:04:14 +02:00
Daniel Pavel a0b7d39f83 use the wpid to identify devices, when possible 2013-06-30 13:49:35 +02:00
Daniel Pavel c464e049bf allow settings to be bound to certain device types
avoids stuff like smooth-scroll being attached to a keyboard
2013-06-29 21:26:25 +02:00
Daniel Pavel daad9b5d5f cleaned-up NamedInts, added int2bytes and bytes2int generic functions 2013-06-29 20:37:04 +02:00
Daniel Pavel 8d5718178f load the configuration when the device is detected
and apply it every time the device comes online
2013-06-29 20:35:02 +02:00
Daniel Pavel 1d438f098f handle 0x07 battery notifications with indicating charging, but with no battery level 2013-06-29 20:26:29 +02:00
Daniel Pavel c2a549c114 the K800 also has 3 leds, use them to indicate battery charge 2013-06-28 17:09:05 +02:00
Daniel Pavel c25b769578 repr() formatting cleanups 2013-06-26 13:40:46 +02:00
Daniel Pavel 0cf1f1983d handle backlight notifications from register 0x17 2013-06-26 13:38:36 +02:00
Daniel Pavel 39ec568ab1 descriptors table and devices documentation updated 2013-06-25 18:54:27 +02:00
Daniel Pavel 5b94ebae34 enable the backlight notifications on devices, if available 2013-06-25 18:53:18 +02:00
Daniel Pavel fc5c72e164 some clean-ups in descriptors 2013-06-25 16:01:29 +02:00
Daniel Pavel 6b0b7ea823 minor clean-ups and formatting 2013-06-24 17:04:19 +02:00
Daniel Pavel f64942b51d if the battery level is approximative, show a string instead of percentage 2013-06-24 17:02:00 +02:00
Daniel Pavel 375db9996f fixed reading correct device kind on link notification 2013-06-24 16:58:41 +02:00
Daniel Pavel 20dfc063ff initial support for performance mx leds
The leds light up when we get updates about the battery level.
Right now they are not (programatically) turned off.
2013-06-23 20:59:16 +02:00
Daniel Pavel 70c341e268 don't use proxies for receiver/device objects
they should be unnecessary now that their status is properly tracked
2013-06-23 18:37:50 +02:00
Daniel Pavel 422cd26b92 some extra asserts on hid++ 1.0 register r/w 2013-06-23 18:16:13 +02:00
Daniel Pavel cec892ce88 disable poll ticking
It was necessary to periodically check if the peripherals are still
online -- suspend/resume may cause Solaar to (wrongfully) remember the
status of devices after a resume.

Now that is handled by the optional upower module -- the hard way -- by
restarting all listeners on resume.
2013-06-23 18:15:19 +02:00
Daniel Pavel 273284da39 use number instead of serial to pick devices in ui (faster start-up) 2013-06-23 12:09:46 +02:00
Daniel Pavel df8df2bffa don't force a battery read on link active, will happen anyway 2013-06-21 22:24:28 +02:00
Daniel Pavel ae4c921300 cleaner start-up of paired devices 2013-06-21 22:23:53 +02:00
Daniel Pavel 3d1aa6698d only check for non-unifying protocol only on nano receviers 2013-06-21 22:19:31 +02:00
Daniel Pavel e19b690bd5 fixed reading of polling rate 2013-06-21 16:47:19 +02:00
Daniel Pavel 5785896007 status: the device may be invalid when processing the unpair notification 2013-06-21 16:39:30 +02:00
Daniel Pavel 8d522de7e7 drop some unnecessary logging when ignoring request replies 2013-06-21 16:39:04 +02:00
Daniel Pavel 81ae4c8d4d forgot about pairing notification on receiver... 2013-06-21 16:32:29 +02:00
Daniel Pavel c1aa341a7a tweaked timing of enabling receiver notifications 2013-06-21 15:20:52 +02:00
Daniel Pavel fd35f23af7 one a separate flag to check if the device is active 2013-06-21 15:17:14 +02:00
Daniel Pavel c04851f64e better handling of timeouts in base.request 2013-06-21 15:05:48 +02:00
Daniel Pavel 431f1c97cf added read/write_register to receiver and devices 2013-06-21 15:03:36 +02:00
Daniel Pavel 1b68a3d5a9 fixed request timeouts for devices 2013-06-20 19:51:54 +02:00
Daniel Pavel 1d9a3bf23a fixed checking for features of offline 2.0 devices 2013-06-20 17:21:23 +02:00
Daniel Pavel 3d8c764eb0 relax timeouts for device requests 2013-06-20 17:13:49 +02:00
Daniel Pavel 31e134c1e0 don't wait so long on the first idle poll 2013-06-20 13:12:29 +02:00
Daniel Pavel ca9825d262 support for the VX Nano mouse 2013-06-20 13:10:30 +02:00
Daniel Pavel 1a36ec65ee faster checking of feature-based settings 2013-06-20 12:55:48 +02:00
Daniel Pavel d07a20e6f8 improved reading device properties 2013-06-20 12:54:27 +02:00