Commit Graph

1776 Commits

Author SHA1 Message Date
Peter F. Patel-Schneider b3a6dc5b2e ui: update map all settings that are not None 2021-04-17 10:32:24 -04:00
Peter F. Patel-Schneider 95dafbe3aa settings: fix return value for mouse gesture callback 2021-04-15 17:00:29 -04:00
Peter F. Patel-Schneider a1dc69d203 ui: make ignore settings not sensitive at startup 2021-04-13 13:27:59 -04:00
Peter F. Patel-Schneider f7488f67c1 settings: add mouse gesture handling 2021-04-13 09:26:24 -04:00
Peter F. Patel-Schneider 6c62f975d0 ui: directly connected devices don't need to support connection notifications 2021-04-12 23:21:22 -04:00
Peter F. Patel-Schneider 62034758f0 ui: check that receivers support connection nofications 2021-04-12 22:32:11 -04:00
Peter F. Patel-Schneider a288caa7ee settings: fix typo 2021-04-12 08:08:31 -04:00
Peter F. Patel-Schneider 5be7541875 settings: for polling rate setting only change profiles mode when actually writing 2021-04-12 08:04:41 -04:00
Peter F. Patel-Schneider 33a4bf8bf5 ui: read current value of setting when switching away from ignore 2021-04-12 07:39:35 -04:00
Peter F. Patel-Schneider 52fcbe3b48 settings: restore _feature_hires_smooth_resolution 2021-04-12 07:39:35 -04:00
Peter F. Patel-Schneider b34061c766 ui: add ability to ignore a Solaar setting 2021-04-12 07:39:35 -04:00
Peter F. Patel-Schneider 8c5800e536 receiver: use symbolic identifiers for sub-registers 2021-04-09 07:46:10 -04:00
gogogogi 804ba267f6 device: add G700 wired support 2021-04-09 07:43:54 -04:00
Peter F. Patel-Schneider 6099df1b42 ui: do not set attention icon - gets around bug in XFCE 16 2021-04-09 07:28:23 -04:00
Peter F. Patel-Schneider 55ed173c39 ui: replace deprecated GTK stock values 2021-04-09 07:28:23 -04:00
Peter F. Patel-Schneider 593d27770d ui: only use first element of theme path for appindicator extra path 2021-04-09 07:28:23 -04:00
Peter F. Patel-Schneider 0dbb93e6a5 ui: only prepend one icon path to theme search paths 2021-04-09 07:28:23 -04:00
Peter F. Patel-Schneider 68049efc41 ui: better handling of tray icons 2021-04-09 07:28:23 -04:00
Peter F. Patel-Schneider 1d18e4d8f7 receiver: receiver c52e does not unpair 2021-04-09 07:24:11 -04:00
SiDevesh d3a18bb85f rules: match WM_CLASS also for process matching in rules 2021-04-08 15:01:50 -04:00
Peter F. Patel-Schneider 1cb8f0c874 ui: correctly set icon theme value when regular battery icons are missiong 2021-04-07 19:59:25 -04:00
Peter F. Patel-Schneider 7e360e4416 settings: remove _feature_hires_smooth_resolution as recent Linux input drivers depend on it not changing 2021-04-04 22:36:54 -04:00
Peter F. Patel-Schneider 9842972d8b receiver: handle exception when device is not available while being added 2021-04-04 22:33:38 -04:00
Peter F. Patel-Schneider a4b54df433 device: fix debug message error 2021-04-02 10:25:01 -04:00
Peter F. Patel-Schneider 6ed09d0643 listener: perform initial activation of devices in listener threads
listener: perform initial activation of devices in listener threads
2021-03-30 08:36:37 -04:00
Peter F. Patel-Schneider 1bd68177ab configure: keep track of serial numbers in configuration file 2021-03-30 08:36:37 -04:00
Peter F. Patel-Schneider 985ebd46cd device: check device is active before performing request and don't replace empty settings 2021-03-30 08:36:37 -04:00
Peter F. Patel-Schneider 3fb197b78c device: set host names longer than 14 bytes 2021-03-29 11:43:30 -04:00
Peter F. Patel-Schneider cb67897d15 device: set current host name if not current host 2021-03-29 11:43:30 -04:00
Peter F. Patel-Schneider 533cd54b92 settings: add setting for SMART SHIFT ENHANCED feature 2021-03-26 15:55:59 -04:00
Peter F. Patel-Schneider a658f2e2b0 device: add names for 2250 and 2251 features 2021-03-26 15:55:59 -04:00
Peter F. Patel-Schneider 689d57d097 device: don't always use long messages for protocol 1.0 2021-03-22 08:35:34 -04:00
Peter F. Patel-Schneider dc3f70ff86 cli: use 1-origin addressing when selecting from choices in config 2021-03-18 09:57:03 -04:00
Peter F. Patel-Schneider 58f1a142ec cli: fix config check against choices 2021-03-18 09:57:03 -04:00
Peter F. Patel-Schneider 10233dac30 settings: add quirk to not set up host mode on G915 TKL keyboard 2021-03-07 22:02:49 -05:00
Peter F. Patel-Schneider 5642a658ab cli: print settings saved in config file in show command 2021-03-06 07:39:04 -05:00
Peter F. Patel-Schneider 3cd76aa191 tools: fix up call to udev matching in hidconsole 2021-03-02 19:02:08 -05:00
Peter F. Patel-Schneider 83f45218de release 1.0.5 2021-02-27 09:03:29 -05:00
Peter F. Patel-Schneider 69df28c155 docs: update docs - remembering settings, point to github docs 2021-02-21 14:02:48 -05:00
Peter F. Patel-Schneider babdb44b4f cli: fix up help messages for selecting devices and receivers for CLI commands 2021-02-21 13:23:33 -05:00
Peter F. Patel-Schneider daee35de4a cli: fix bug in finding receiver to pair 2021-02-21 06:30:32 -05:00
Peter F. Patel-Schneider 8d01e28138 release 1.0.5rc2 2021-02-18 15:04:18 -05:00
Peter F. Patel-Schneider 04d79810d4 cli: set keyed settings with config 2021-02-18 11:02:57 -05:00
Leonardo Gates c1a79a49f8 settings: implement polling rate 2021-02-17 07:58:30 -05:00
Peter F. Patel-Schneider 04775a3719 device: use long messages for all 2.0 requests 2021-02-16 20:20:33 -05:00
Peter F. Patel-Schneider eb0d939d1a cli: don't select unpaired device for config command 2021-02-16 08:25:46 -05:00
Peter F. Patel-Schneider 4b52b77348 cli: add device name to output when changing settings using config command 2021-02-16 08:25:46 -05:00
Equidamoid 8fccd84345
Log real exception when can't use Xorg API (#1066)
* fix: log real exception when can't use Xorg API

* chore: make linter happy
2021-02-08 18:55:10 -05:00
Alexander Huck 2ea92db3ca remove trailing whitespace 2021-02-01 12:54:32 -05:00
Alexander Huck 205047e278 Update about.py 2021-02-01 12:54:32 -05:00
Alexander Huck c268ff7a45 Update about.py to bump copyright years
Update Copyright Timeframe
2021-02-01 12:54:32 -05:00
Peter F. Patel-Schneider 82a41bf46b device: show remaining pairings in show 2021-01-27 11:35:11 -05:00
Peter F. Patel-Schneider 1c6f289d91 ui: add option to not use battery icons for tray icon 2021-01-04 09:53:46 -05:00
Peter F. Patel-Schneider 111f2be5c8 device: defense against missing devices 2021-01-03 16:01:59 -05:00
Marián Kyral b722eccf04 Fix typo 2020-12-30 12:22:09 -05:00
Vinícius aa4456e9dc receiver: changing duplicate label of GESTURE 2 options 2020-12-17 12:18:22 -05:00
Peter F. Patel-Schneider a688bfd9ec settings: add setting to divert G keys and handle in rules 2020-12-13 22:24:08 -05:00
Peter F. Patel-Schneider 69f889e33f rules: only activate rules if X11 is running 2020-12-02 10:10:47 -05:00
Peter F. Patel-Schneider 52049af8e1 receiver: add remote device type 2020-11-30 08:18:09 -05:00
Peter F. Patel-Schneider 7d0402a97f rules: only use X11 code when X11 is available 2020-11-28 09:41:59 -05:00
Peter F. Patel-Schneider 0427e5607e settings: correctly handle diversions when key has other flags set 2020-11-27 17:38:38 -05:00
Peter F. Patel-Schneider 419a7722ad rules: make rule processing conditional on X11 being available 2020-11-27 10:48:16 -05:00
Peter F. Patel-Schneider 60afd53257 device: fix short name for MX Keys keyboard 2020-11-27 10:48:16 -05:00
Peter F. Patel-Schneider a99a5a544e rules: fix syntax in MouseClick 2020-11-27 10:12:21 -05:00
Peter F. Patel-Schneider 244d48d245 rules: remove use of pynput 2020-11-27 10:12:21 -05:00
Peter F. Patel-Schneider 808a719823 device: push device settings when device is active after suspend 2020-11-27 10:02:46 -05:00
Peter F. Patel-Schneider 646151ae61 receiver: reduce unnecessary writes of config file 2020-11-21 12:34:13 -05:00
Peter F. Patel-Schneider d81a971455 cli: don't show devices as receivers 2020-11-21 12:32:33 -05:00
Peter F. Patel-Schneider 66f3d5d02b receiver: gracefully handle more receiver and device disconnects 2020-11-21 12:32:33 -05:00
Peter F. Patel-Schneider 6b8e7a2d9c ui: only emit warning on path mismatch between device and recevier in main window 2020-11-21 12:32:33 -05:00
Peter F. Patel-Schneider 504d23fab7 ui: only emit warning when updating tray for inactive device 2020-11-21 12:32:33 -05:00
Vinícius 52109ade91 ui: ignore Ctrl+Delete shortcut if root is selected 2020-11-21 12:23:41 -05:00
Vinícius daafe5ebca ui: don't offer to delete/cut root element and don't offer to paste non-Rule at the top level 2020-11-21 12:23:41 -05:00
Vinícius 8be0e21ac7 ui: delete method that is no longer used 2020-11-21 12:23:41 -05:00
Vinícius 9c04bfad92 ui: fixed unnecessary dialogue when window is closed after discarding changes 2020-11-21 12:23:41 -05:00
Vinícius 4025b83dfd ui: add icons to rule editor buttons and implement Ctrl+S shortcut 2020-11-21 12:23:41 -05:00
Vinícius bc51117f59 ui: use readable names on the left column of rule editor 2020-11-21 12:23:41 -05:00
Vinícius a8819b06c8 ui: make KeyPress entry larger (relative to window size) 2020-11-21 12:23:41 -05:00
Vinícius 6f973cdc27 ui: fix bug that prevented copying from a built-in rule for the first time 2020-11-21 12:23:41 -05:00
Vinícius b548d05cad ui: change diversion editor window title and button label 2020-11-21 12:23:41 -05:00
Vinícius ef3d3e5290 ui: fix feature entry bug when feature is not on the list 2020-11-21 12:23:41 -05:00
Vinícius 487e1a3ded ui: show Feature completion matches for all features 2020-11-21 12:23:41 -05:00
Vinícius 4206d370f1 ui: add delete button for every Execute argument 2020-11-21 12:23:41 -05:00
Vinícius 29ccd55210 ui: improve validation of FeatureUI and KeyUI diversion rule components 2020-11-21 12:23:41 -05:00
Vinícius b399380445 ui: diversion rule editor - move save and discard buttons to the top 2020-11-21 12:23:41 -05:00
Vinícius 1d68ef858e ui: make rule editing buttons larger and add delete buttons for KeyPress. 2020-11-21 12:23:41 -05:00
Vinícius 717213c506 ui: move diversion button to the right 2020-11-21 12:23:41 -05:00
Vinícius 0b5c263799 receiver: fix and improve diversion load/save functions 2020-11-21 12:23:41 -05:00
Vinícius 1379da70a8 ui: add GUI for diversion rules (draft) 2020-11-21 12:23:41 -05:00
Vinícius 381371c899 receiver: add MouseClick diversion rule 2020-11-14 10:38:01 -05:00
Peter F. Patel-Schneider be590c154a docs: add documentation for rules processing and change name of rules file 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider 30e4324906 receiver: associate source file with top-level rules 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider 545db1f641 receiver: add named tests for hires and lowres wheels 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider 5e2b2b6647 device: add quirk for WPID 4055 in button diversion 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider f3a276d7a3 receiver: add rule-based processing of diverted features 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider 02a7d8cadd util: allow accessing NamedInts by readable name 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider 4da7feec3b receiver: regularize capitalization of Logitech CONTROL key names 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider f75c9845d2 settings: add setting for diverting keys 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider b947dd4896 settings: add crown diversion setting 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider ade9c816c7 receiver: add report_id to notifications and use where appropriate 2020-11-13 08:46:04 -05:00
Vinícius 8141fafb4b ui: create attributes to access children in settings with multiple items 2020-11-02 09:28:12 -05:00
Peter F. Patel-Schneider 79b18d07c9 cli: fix bug in probe 2020-11-02 09:15:43 -05:00
Peter F. Patel-Schneider d92939135f device: warn when feature notifiation comes in before device fully set up 2020-11-02 08:27:08 -05:00
Peter F. Patel-Schneider 733bf913e6 device: implement UNIFIED_BATTERY feature
device: implement UNIFIED_BATTERY feature
2020-11-02 08:27:08 -05:00
Peter F. Patel-Schneider 1162ccb897 device: be defensive when getting device id 2020-11-01 15:14:18 -05:00
Peter F. Patel-Schneider 93b5a0008b ui: add lock icon to control whether setting can be changed 2020-10-25 14:13:58 -04:00
Wojciech Nawrocki 847205eb06 settings_templates: typo
Oops!
2020-10-25 14:03:05 -04:00
Antony Kellermann 98b4aff33d Fix warning 2020-10-25 14:02:25 -04:00
Peter F. Patel-Schneider a4e4c160c1 release 1.0.4 2020-10-22 10:02:24 -04:00
Peter F. Patel-Schneider 93fe73214c release 1.0.4rc1 2020-10-12 08:25:35 -04:00
Peter F. Patel-Schneider b19006104f device: support unknown USB-connected and Bluetooth devices 2020-10-12 08:05:13 -04:00
Peter F. Patel-Schneider dba9d472a8 hidapi: fix bug in processing of serial numbers 2020-10-07 15:18:28 -04:00
Peter F. Patel-Schneider 7a7aad8977 device: use FRIENDLY NAME for codename if needed and available 2020-10-07 05:30:34 -04:00
Olivier Dormond 254e2cb77e device: add BT information for MX Keys 2020-10-03 09:10:59 -04:00
Peter F. Patel-Schneider fdb1b43373 device: add USB information for G700s 2020-10-01 17:45:49 -04:00
Peter F. Patel-Schneider a9d6b4c319 listener: make sure device has a status before processing notifications 2020-10-01 17:45:49 -04:00
Peter F. Patel-Schneider 7908a4f5a4 ui: ensure that Gtk 3.0 is the version loaded 2020-10-01 17:45:49 -04:00
Peter F. Patel-Schneider 757c731610 device: show DPI values, not slider, in sliding notification 2020-10-01 12:48:11 -04:00
Peter F. Patel-Schneider 612e8fb4f7 device: store sliding DPI value in persister and respect changes in regular DPI setting 2020-10-01 12:48:11 -04:00
Peter F. Patel-Schneider 84e0e74709 device: add BT IDs for MX Master and MX Master 2S 2020-09-29 11:26:34 -04:00
Peter F. Patel-Schneider ec8a51d353 udev: get manufacturer and product from HID_ID 2020-09-29 11:26:34 -04:00
Peter F. Patel-Schneider 3b6a4ed0ed receiver: put USB and BT identifiers in descriptors.py 2020-09-29 11:26:34 -04:00
Peter F. Patel-Schneider 815c9755b5 receiver: handle bluetooth-connected devices 2020-09-29 11:26:34 -04:00
Peter F. Patel-Schneider 1e7050595e receiver: add model and node ID and use in configurations 2020-09-29 11:26:34 -04:00
Peter F. Patel-Schneider fc59c0fbf6 device: only look up feature notifications in SLIDING DPI setting 2020-09-28 14:47:43 -04:00
Peter F. Patel-Schneider 4874d72c16 receiver: fix bug in debug message 2020-09-28 14:47:43 -04:00
Peter F. Patel-Schneider e6cfd0a0c1 device: increase speed for DPI sliding 2020-09-28 12:59:04 -04:00
Peter F. Patel-Schneider ebf7984ad0 device: determine SLIDING DPI suitability based on device features 2020-09-28 12:59:04 -04:00
Peter F. Patel-Schneider 2654b6bbe0 ui: add forced-refresh argument to window update 2020-09-28 12:59:04 -04:00
Wojciech Nawrocki 9f7c7209fe device: support DPI sliding with two slots on MX Vertical mouse
Reimplements the entire behaviour of Logitech's software for this
mouse on Windows.
2020-09-28 12:59:04 -04:00
Wojciech Nawrocki 41fb08c059 notify: allow displaying progress 2020-09-28 12:59:04 -04:00
Wojciech Nawrocki 362d43a7a1 backend: allow device objects to handle notifications 2020-09-28 12:59:04 -04:00
Peter F. Patel-Schneider 0259e44c31 cli: ignore DJ pairing notifications in CLI pair command 2020-09-24 18:22:35 -04:00
Peter F. Patel-Schneider df8b6b488c receiver: add USB information for MX Vertical when wired 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider b1d4b2f3cd receiver: add model and node ID and use in configurations 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider 58823763ea ui: handle wired devices 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider aeb8588e06 cli: make probe and config work for wired devices 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider ebfd26b3d0 receiver: add USB information for G502 Hero when wired 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider 95a30a8089 cli: add extra information about features to show command output 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider dca6b4ba38 ui: show all host choices 2020-09-21 08:57:47 -04:00
Peter F. Patel-Schneider b1706fa9e2 ui: don't show unpaired host choices 2020-09-21 07:44:55 -04:00
Peter F. Patel-Schneider ff5d744183 ui: improve display strings and ordering for settings 2020-09-21 07:44:55 -04:00
Peter F. Patel-Schneider 377e44c624 ui: add separator before device settings 2020-09-21 07:44:55 -04:00
Peter F. Patel-Schneider 714f8782b3 cli: reduce chance of connect notifications clashing when pairing 2020-09-18 05:49:43 -04:00
Peter F. Patel-Schneider ad57db4a39 receiver: permit connection notifications that are not unifying 2020-09-18 05:49:43 -04:00
Peter F. Patel-Schneider 8b5d56feb4 device: if hidraw node is not available wait and try a second time 2020-09-18 05:49:43 -04:00
Peter F. Patel-Schneider 2153035c30 ui: add device path to information panel for non-receivers 2020-09-18 05:49:43 -04:00
Peter F. Patel-Schneider dbf6226f77 receiver: update strings for several settings 2020-09-18 05:49:43 -04:00
Alex Cherkayev 7a82b93aaf udev: add function to get wpid from udev
base: make workaround flag name more generic
descriptors: fix wpid's for 27Mhz devices
device: Improve wpid and kind processing for 27Mhz devices
notifications: Improve wpid generation for 27Mhz devices
docs: fix wpid's for EX100
2020-09-07 11:43:25 -04:00
Ali Sabzevari 9de4d392d4 Fix broken link to about website 2020-09-04 14:39:25 -04:00
Peter F. Patel-Schneider b0297694d1 receiver: remove spurious part of special handling for ex100 receiver 2020-09-01 23:13:49 -04:00
Vinícius 7fdba7fe75 ui: disabled ListBoxRow background colour on hover 2020-09-01 18:38:00 -04:00
Vinícius 36e8dcb396 descriptors: added GESTURE2 to known supported devices 2020-09-01 18:38:00 -04:00
Vinícius 708edbc444 ui: make collapsible sections start collapsed 2020-09-01 18:38:00 -04:00
Vinícius d87bc594f4 ui: fixed vertical alignment of panel after collapsing widgets 2020-09-01 18:38:00 -04:00
Vinícius 7a65c40312 ui: removed GESTURE2 specs from the panel 2020-09-01 18:38:00 -04:00
Vinícius 6994e1e41c receiver/ui: added labels and tooltips to some settings 2020-09-01 18:38:00 -04:00
Vinícius 1ce67954cb receiver: fixed number of spec "field widths" 2020-09-01 18:38:00 -04:00
Vinícius 1e8956ff96 ui: fixed horizontal alignment and size of multiple toggle/range widgets 2020-09-01 18:38:00 -04:00
Vinícius c8fe87ee2d receiver: implementation of GESTURE 2 params; improved UI for multiple toggle 2020-09-01 18:38:00 -04:00
Vinícius aa067b2774 receiver: show GESTURE2 specs on the panel 2020-09-01 18:38:00 -04:00
Vinícius b3751913b2 receiver: read GESTURE2 param defaults 2020-09-01 18:38:00 -04:00
Vinícius 09394cfbf5 receiver: support GESTURE2 specs 2020-09-01 18:38:00 -04:00
Vinícius 7498febc3a receiver: GESTURE 2 also applies to mice 2020-09-01 18:38:00 -04:00
Vinícius 4a5c0ea523 receiver: initial implementation of boolean GESTURE 2 settings 2020-09-01 18:38:00 -04:00
Peter F. Patel-Schneider 633760e261 receiver: add initial support for GESTURE_2 2020-09-01 18:38:00 -04:00
Peter F. Patel-Schneider 68aebc8c1b cli: slight improvement to probe 2020-09-01 18:35:31 -04:00
Peter F. Patel-Schneider 831287ead6 cli: add full register dump for probe 2020-09-01 18:04:24 -04:00
Peter F. Patel-Schneider 1bba8b26de cli: fix bug in probe.py 2020-08-29 13:38:11 -04:00
Peter F. Patel-Schneider 718c2d4039 receiver: simplify settings interface 2020-08-28 08:41:14 -04:00
Peter F. Patel-Schneider 1516daa6d0 listener: fix misleading connection log message 2020-08-27 08:27:58 -04:00
Peter F. Patel-Schneider 4df84107e1 receiver: don't emit warning for battery status notifications 2020-08-27 05:22:03 -04:00
Peter F. Patel-Schneider 3e4c09380a receiver: be extra cautious when writing key-value pairs for settings 2020-08-27 05:22:03 -04:00
Peter F. Patel-Schneider e6947d95d8 receiver: use DJ connection notifications to set device active status 2020-08-27 05:22:03 -04:00
effective-light 246c6cc1b2 udev: add a timeout to find_paired_node because the device might not be instantly ready (e.g. after pairing) 2020-08-25 06:47:07 -04:00
effective-light 2d29db4609 udev: simplify find_paired_node 2020-08-25 06:47:07 -04:00
effective-light 374388daf0 udev: add new rules for the wired devices and have the udev rules apply to paired peripherals 2020-08-25 06:47:07 -04:00
effective-light fe55e39560 udev: use HID_PHYS instead of HID_UNIQ to look for relevant child nodes 2020-08-25 06:47:07 -04:00
effective-light 535b1f02ce device: report a wired device's serial number 2020-08-25 06:47:07 -04:00
effective-light eec5df5d56 device: read the serial number properly from the device hidraw nodes 2020-08-25 06:47:07 -04:00
effective-light c4d2ec4008 device: ensure that the serial ids match since wpids aren't distinct between devices and fallback to the receiver's handle when a match can't be found 2020-08-25 06:47:07 -04:00
effective-light 00ea128775 Prevent the precommit hooks from complaining 2020-08-25 06:47:07 -04:00
effective-light b98033d558 base: add a number of relevant device ids and print them when the "show" command is executed 2020-08-25 06:47:07 -04:00
effective-light 16823092bc device: add preliminary support for wired devices 2020-08-25 06:47:07 -04:00
effective-light 9a13eb0229 receiver: talk directly to the device where possible 2020-08-25 06:47:07 -04:00
effective-light 35114490d3 cli: print each device's direct path 2020-08-25 06:47:07 -04:00
effective-light bf3aeff7d8 receiver: open and store each paired device's direct hidraw node 2020-08-25 06:47:07 -04:00
Peter F. Patel-Schneider d027c66198 receiver: add WPID 0612 for VX Revolution mouse 2020-08-24 08:28:48 -04:00
Peter F. Patel-Schneider 04e8281738 receiver: handle devices with serial numbers that don't provide number of pairings 2020-08-24 08:28:48 -04:00
Peter F. Patel-Schneider f5c63ccc39 ui: better display of battery information in main window 2020-08-22 10:43:10 -04:00
Peter F. Patel-Schneider 9b8f96e824 receiver: fix bug when setting causes exception 2020-08-17 18:04:11 -04:00
Peter F. Patel-Schneider 5117028c52 misc: ignore exceptions when trying to set locale 2020-08-17 11:03:03 -04:00
Peter F. Patel-Schneider eda0a95585 receiver: correctly handle settings that share a name in config 2020-08-15 14:41:56 -04:00
Peter F. Patel-Schneider 5041530952 receiver: don't produce pop-up notifications at startup and power on 2020-08-14 10:10:39 -04:00
Peter F. Patel-Schneider 9d0fcea02e receiver: simpler interface for settings 2020-08-13 16:38:11 -04:00
Peter F. Patel-Schneider 1400473877 receiver: make unpairing log messages be INFO, not warning 2020-08-12 19:12:41 -04:00
Peter F. Patel-Schneider 330fadfbce receiver: check that device can retrieve host names before trying that 2020-08-12 19:12:41 -04:00
Kudlaty b3cc4361e8 receiver: add lightspeed receiver c541 2020-08-12 14:35:05 -04:00
Peter F. Patel-Schneider 2e1e8dc9b5 receiver: fix bug in logging DJ notifications 2020-08-10 05:34:33 -04:00
Peter F. Patel-Schneider 44f85d5dee receiver: change notification before status setup from assertion to warning 2020-08-09 18:20:18 -04:00
Peter F. Patel-Schneider 78a6ae9208 receiver: keep better track of battery voltage status for GUI 2020-08-09 18:20:18 -04:00
Peter F. Patel-Schneider 15b1965582 receiver: add lightspeed receiver c545 2020-08-09 11:21:28 -04:00
Peter F. Patel-Schneider 6918353a29 cli: improve messages for unpairing errors 2020-08-08 07:58:01 -04:00
Wojciech Nawrocki 1973693cc8 hidpp20: support version 4 of REPROG_CONTROLS_V4 2020-08-07 13:40:36 -04:00
Wojciech Nawrocki 1361af5501 special_keys: uppercase for DPI switch control 2020-08-07 13:40:36 -04:00
Wojciech Nawrocki 6e5d36e59f settings: use KeysArray for key reprogramming 2020-08-07 13:40:36 -04:00
Wojciech Nawrocki 95dc973748 hidpp20: add full support for version 2 of REPROG_CONTROLS_V4 2020-08-07 13:40:36 -04:00
Peter F. Patel-Schneider fd02b33971 ui: use ngettext for translatable strings with number dependencies 2020-08-02 11:56:56 -04:00
Peter F. Patel-Schneider e763aeadb4 release 1.0.3 2020-08-02 11:46:13 -04:00
Peter F. Patel-Schneider 0b0cf63240 release 1.0.3rc2 2020-07-30 02:58:23 -04:00
Peter F. Patel-Schneider 5dbf691403 receiver: ignore DJ pairing notifications 2020-07-30 02:44:56 -04:00
Peter F. Patel-Schneider fb328b3993 release 1.0.3rc1 2020-07-25 21:25:16 -04:00
Peter F. Patel-Schneider a2ac8b46c1 misc: check for udev rule file presence at startup 2020-07-25 21:25:16 -04:00
Vinícius d2eabe4258 receiver: prevent errors after clicking the name of an idle device 2020-07-25 16:47:05 -04:00
Peter F. Patel-Schneider 204bc6e810 hidapi: fix infinite loop on some write errors 2020-07-20 20:37:15 +01:00
Alex Cherkayev e436b1bd1d receiver: add support for EX100 keyboard/mouse and receiver (046d:c517)
docs: add EX100 keyboard/mouse combo
device: add EX100 keyboard and mouse
hidpp10: fix notification parsing, add device features flags, fix documentation links
notifications: fix wpid processing for 27 MHz protocol
cli: add display of device features flags for HID++ 1.0 devices
2020-07-20 11:55:59 -04:00
Peter F. Patel-Schneider 4dfa55c96c receiver: add mode and inversion settings for feature THUMB_WHEEL 2020-07-19 08:35:46 -04:00
Peter F. Patel-Schneider 2d2e71daa3 receiver: restore feature number to feature choice settings 2020-07-16 15:06:08 -04:00
Peter F. Patel-Schneider 4ce2abca0a ui: turn off write-backs for values obtained from device 2020-07-16 15:06:08 -04:00
Peter F. Patel-Schneider bc6b1de472 gui: correctly show initial value for choice settings 2020-07-16 15:06:08 -04:00
Peter F. Patel-Schneider 90cc629f26 receiver: don't write non-persisted settings when applying them 2020-07-16 15:06:08 -04:00
Peter F. Patel-Schneider de0894bc34 receiver: adjust CHANGE_HOST numbers to user-visible ones 2020-07-13 19:15:44 -04:00
Peter F. Patel-Schneider e86a50cfa9 receiver: use report rate feature if available to determine polling rate 2020-07-13 13:34:21 -04:00
Peter F. Patel-Schneider b6615d5abe cli: in config don't apply setting unnecessarily and don't print setting after writing 2020-07-12 18:12:18 -04:00
Peter F. Patel-Schneider 323fb13161 cli: check range values for validity in config 2020-07-12 18:12:18 -04:00
Peter F. Patel-Schneider fef22de021 cli: don't lower-case choice values and allow numeric selection of choices 2020-07-12 18:12:18 -04:00
Peter F. Patel-Schneider 5a4205d002 receiver: add CHANGE_HOST setting 2020-07-12 18:04:04 -04:00
Peter F. Patel-Schneider 1c2b347512 receiver: allow for settings that do not persist 2020-07-12 18:04:04 -04:00
Peter F. Patel-Schneider 63872b9146 receiver: add settings option to not wait for reply when writing to device 2020-07-12 18:04:04 -04:00
Peter F. Patel-Schneider c6506b3508 receiver: add option to not wait for a reply when requesting to device 2020-07-12 18:04:04 -04:00
Peter F. Patel-Schneider c9c472e391 receiver: add setting for MULTIPLATFORM and DUALPLATFORM feature 2020-07-12 17:38:00 -04:00
Peter F. Patel-Schneider e05c1aa90c cli: make config faster 2020-07-10 14:16:41 -04:00
Peter F. Patel-Schneider fe0ab16cc8 misc: dump threads on SIGINT 2020-07-09 12:51:38 -04:00
Peter F. Patel-Schneider c38d10a654 receiver: gather host names from HOSTS_INFO feature and show them 2020-07-09 12:44:27 -04:00
Peter F. Patel-Schneider 72fd2f255e device: mouse m510v1 doesn't have a working smooth scroll so remove from its descriptor 2020-07-07 10:20:00 -04:00
Filipe Laíns 27c90fa736 yapf: adjust style to not indent closing brackets
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Filipe Laíns 8e89aa0038 yapf: set max line lenght to 127
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Filipe Laíns 627185079f flake8: initial fix
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Filipe Laíns 33521558ed pre-commit: initial fix
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Filipe Laíns e6369e0c3c isort: intial import fix
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Filipe Laíns 72a8d311bc yapf: change code style to yapf
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Peter F. Patel-Schneider cab523e122 receiver: add direct implementation of NEW FN INVERSION feature
receiver: fix bug in NEW FN INVERSION

receiver: fix bug in NEW FN INVERSION

receiver: fix bug in NEW FN INVERSION
2020-06-30 16:20:38 -04:00
Peter F. Patel-Schneider 070a2bf837 receiver: add new set of special keys from logitech documentation
receiver: descriptor and key for MX Vertical mouse
2020-06-28 02:45:20 +01:00
Peter F. Patel-Schneider 0836766bfb receiver: fix k375s Fn inversion 2020-06-26 05:07:47 -04:00
Peter F. Patel-Schneider 4379bd0613 receiver: update tooltips for several settings 2020-06-23 06:26:21 -04:00
Peter F. Patel-Schneider ad2660a1bd receiver: minor updates to key remapping 2020-06-23 06:26:21 -04:00
Vinícius 6d16462988 receiver: simpler way to create setting information for device descriptors 2020-06-21 20:19:30 -04:00
Peter F. Patel-Schneider e69c4c6b4f receiver: don't abort on unexpected device number, just warn 2020-06-21 12:16:04 -04:00
Vinícius 5e4c792a64 receiver: fix error when settings listed on descriptor.py return None
e.g. REPROG_CONTROLS_V4 when no keys can be reprogrammed by Solaar
2020-06-20 20:33:29 -04:00
Peter F. Patel-Schneider c5ca2c2818 receiver: remove testing line from settings_template.py 2020-06-20 14:01:38 -04:00
Peter F. Patel-Schneider f631f0f551 receiver: keep track of non-features to not continually try to find them 2020-06-20 13:38:09 -04:00
Vinícius ef54a750dc receiver: implement KEYBOARD_DISABLE_KEYS feature
(the UI needs some improvement)
2020-06-20 13:30:32 -04:00
Peter F. Patel-Schneider c99f470dd5 receiver: don't consider group 0 in reprogramming keys 2020-06-20 05:56:00 -04:00
Peter F. Patel-Schneider 1dfc4f22df receiver: add more special keys 2020-06-20 05:56:00 -04:00
Peter F. Patel-Schneider 68b4ca7abf receiver: make key settings structure uniform 2020-06-20 05:56:00 -04:00
Peter F. Patel-Schneider 09125bce2d receiver: filter out DJ reports that are not notifications 2020-06-20 05:31:45 -04:00
Peter F. Patel-Schneider aeb03df3f7 receiver: fix bug reporting hid++ 1.0 batteries 2020-06-17 09:53:16 -04:00
Peter F. Patel-Schneider f191d95990 misc: better reporting of errors 2020-06-17 09:53:16 -04:00
Peter F. Patel-Schneider 5926596298 receiver: add special keys and actions from Craft Keyboard 2020-06-16 17:42:34 -04:00
Peter F. Patel-Schneider 97fdcbf3ff receiver: modify and add a few names for special keys and actions 2020-06-16 15:21:10 -04:00
Peter F. Patel-Schneider 66c8621cab receiver: handle gmask 0 and group 0 in reprogrammable keys 2020-06-16 15:21:10 -04:00
Peter F. Patel-Schneider 922414ae04 ui: add map choice control to ui 2020-06-16 15:21:10 -04:00
Peter F. Patel-Schneider 9beb13a305 receiver: add key reprogramming setting 2020-06-16 15:21:10 -04:00
Peter F. Patel-Schneider 89995656cd receiver: only check for device features once per device 2020-06-08 17:01:32 +01:00
Peter F. Patel-Schneider f198b2706b cli: use Setting name and value to show feature status if not handled directly 2020-06-08 16:59:38 +01:00
Peter F. Patel-Schneider bd0f9ca7d7 receiver: add feature to Setting class 2020-06-08 16:59:38 +01:00
Peter F. Patel-Schneider 784661bbc0 ui: remove maximum window size 2020-06-07 13:33:42 +01:00
Peter F. Patel-Schneider 579b09619b receiver: process battery voltage notifications 2020-06-06 12:59:26 -04:00
Peter F. Patel-Schneider 013f383bc8 ui: display battery voltage in ui if available 2020-06-06 12:59:26 -04:00
Peter F. Patel-Schneider 7936d2dd48 receiver: use battery voltage in read_battery if available 2020-06-06 12:59:26 -04:00
Peter F. Patel-Schneider cb84d3b797 ui: remove translation for several strings that should not be translated in window.py 2020-06-06 12:59:26 -04:00
Peter F. Patel-Schneider 79947dca6c receiver: gather and show battery next level where available 2020-06-06 12:59:26 -04:00
Peter F. Patel-Schneider 6c77aa3b61 receiver: add c53d as a Lightspeed receiver 2020-05-25 20:51:17 -04:00
Peter F. Patel-Schneider 4a108b3ab7 release 1.0.2 2020-05-22 01:43:53 +01:00
Peter F. Patel-Schneider 44722560d2 release 1.0.2rc3 2020-05-17 18:39:31 +01:00
Peter F. Patel-Schneider b7e8e646b5 ui: don't complain for receivers in other seats 2020-05-17 11:55:01 -04:00
Peter F. Patel-Schneider 97fa7de28a devices: pass arguments through in feature_choices_dynamic 2020-05-17 11:51:38 -04:00
Peter F. Patel-Schneider 302720b0db ui: add --battery-icons=symbolic option to prefer symbolic icons 2020-05-17 16:29:14 +01:00
Peter F. Patel-Schneider 5411e43b77 ui: use Solaar icon instead of missing battery icons 2020-05-07 19:33:57 +01:00
Peter F. Patel-Schneider beec4c2130 release: change version from 1.0.2-rc1 to 1.0.2rc2 2020-05-02 17:42:13 +01:00
Steven Lilley 1deaa09142 devices: Add Pebble M350 mouse 2020-05-02 17:25:29 +01:00
Peter F. Patel-Schneider 88a0dfff6f ui: add environment variable to switch to symbolic battery icons in tray 2020-05-02 10:28:51 -04:00
Peter F. Patel-Schneider 5290980ac8 ui: only use standard battery icons 2020-05-02 10:28:51 -04:00
Peter F. Patel-Schneider 4d23d3abac device: heuristic inference of battery level when charging and no discharging information available 2020-05-02 09:58:24 -04:00
Peter F. Patel-Schneider d487a0d889 ui: remove assert that updated receiver is still in window 2020-05-02 14:07:42 +01:00
Roshan Shariff 65824a4c08 ui: add 'desktop-entry' hint to indicate notification source.
GNOME requires that notifications have a 'desktop-entry' hint to be
able to filter notifications by application. See
https://wiki.gnome.org/Initiatives/GnomeGoals/NotificationSource.

Fixes pwr-Solaar/Solaar#734
2020-05-01 13:56:22 -04:00
Peter F. Patel-Schneider b5e1f47c50 ui: add setuptools global install share directory to icon directories 2020-04-20 10:32:40 -04:00
Peter F. Patel-Schneider 8ffaeb112f devices: add four older devices 2020-04-20 15:26:37 +01:00
Peter F. Patel-Schneider 2189d4a35b receiver: add new macro for old receivers and use it to set max devices to 6 for C517 2020-04-20 15:26:37 +01:00
Peter F. Patel-Schneider 06875fb9ab release: update remaining version 1.0.1 to 1.0.2-rc1 where needed 2020-04-20 15:22:30 +01:00
Peter F. Patel-Schneider f6b0cc59ed ui: only use file path for tray icon if icon name is file in current directory 2020-04-20 15:21:19 +01:00
Peter F. Patel-Schneider e3aacdbf05 receiver: don't check that device kind matches feature kind 2020-04-20 15:20:03 +01:00
Peter F. Patel-Schneider 0324fd9a1e ui: more flexible way to determine icon from battery level 2020-04-18 14:27:42 +01:00
Thomas Uhle ca9f9b3447 ui: add support for Ayatana AppIndicator 2020-04-07 18:58:18 -04:00
Peter F. Patel-Schneider 624247d378 install: fix up errors when required packages not installed 2020-04-05 20:55:32 +01:00
Thomas Uhle 5f8dbdeb6d ui: fix tooltip description
The program's name is printed twice if AppIndicator is used and no receiver
is found because AppIndicator always adds the program's name as a title to
the tooltip.
2020-04-01 11:10:54 -04:00
Thomas Uhle 2bdb844557 ui: fix end of iterative calls to _blink()
Prepare _icon_before_attention for the next iteration by reinitializing it
at the end of the current iteration.
2020-04-01 11:10:54 -04:00
Thomas Uhle 422f336d70 ui: add missing parentheses to function call
Compare function's return value to AppIndicator3.IndicatorStatus.ATTENTION
instead of the function object reference.
2020-04-01 11:10:54 -04:00
Peter F. Patel-Schneider 563ef0d8ef receiver: remove extra argument in call when unpairing 2020-03-22 17:23:28 +00:00
Peter F. Patel-Schneider 3a85c4f64b UI: lookup attention icon filename directly to get around bug in libappindicator 2020-03-17 23:17:59 +00:00
Peter F. Patel-Schneider 072f932206 ui: handle devices and receivers with no firmware information 2020-03-16 20:55:18 +00:00
Peter F. Patel-Schneider a49b7938e0 receiver: Receiver C517 can have two paired devices 2020-03-16 16:04:16 +00:00
Peter F. Patel-Schneider 1eef88eb44 cli: handle receivers with no firmware information 2020-03-16 16:04:16 +00:00
Peter F. Patel-Schneider eda1399330 cli: force unpairing attempt when using cli 2020-03-15 23:34:51 +00:00
Peter F. Patel-Schneider 687a28d2c2 UI: lookup icon filenames directly to get around bug in libappindicator 2020-03-15 22:00:56 +00:00
Peter F. Patel-Schneider ac6fa9643f UI: change default for --window to show 2020-03-15 22:00:21 +00:00
Peter F. Patel-Schneider f28053a09a docs: improve documentation on required packages 2020-03-15 21:59:42 +00:00
Peter F. Patel-Schneider a9acdbe47a receiver: add c537 nano receiver 2020-03-06 18:00:37 -05:00
Peter F. Patel-Schneider 955df30c7f upower: properly add signal receiver 2020-02-22 08:46:56 -05:00
Peter F. Patel-Schneider 23c0397764 listener: mark device as inactive after resume so that settings are correctly pushed 2020-02-22 08:46:56 -05:00
Peter F. Patel-Schneider 789f5f05c3 receiver: don't check features when device is not online 2020-02-22 08:46:56 -05:00
Peter F. Patel-Schneider ea2c22c015 receiver: fix seldom-encountered bug for devices that have no features set up yet 2020-02-21 16:52:28 +00:00
Peter F. Patel-Schneider 1c09b9c45d upower: add in logind signals for suspend/resume 2020-02-21 16:52:28 +00:00
Rijnhard Hessel 8e67bbbc11
receiver: add safety for non-compliant mouse features
receiver: safely handle errors with check_feature to allow device to be detected even if some features are inconsistent
2020-02-21 09:33:14 -05:00
Peter F. Patel-Schneider 11465f2b2a cli: add probe command to show receiver register information 2020-02-18 23:21:59 +00:00
Peter F. Patel-Schneider 7c6bd4202d receiver: use dictionary for expected message length checking; ignore messages with unknown report ids 2020-02-18 08:14:22 -05:00
Peter F. Patel-Schneider 1740a9a8c4 receiver: segregate and standardly handle DJ notifications separately - just ignore them all for now 2020-02-18 08:14:22 -05:00
Peter F. Patel-Schneider 0cadc3247e receiver: don't create notifications for movement and key reports 2020-02-18 08:14:22 -05:00
Peter F. Patel-Schneider e23de2ee9f ui: add quit button to main window 2020-02-18 13:14:10 +00:00
Peter F. Patel-Schneider 8fb52a3f37 ui: don't show warning in pairing window for receivers with unlimited pairing 2020-02-18 12:19:45 +00:00
Peter F. Patel-Schneider 3edac85b90 ui: turn on window manager notifications again 2020-02-18 12:17:49 +00:00
Peter F. Patel-Schneider 64c76e51ef receiver,cli,ui: minor code cleanup 2020-02-17 11:53:39 +00:00
Peter F. Patel-Schneider 02cac598a0 receiver: all nano receivers re-pair but don't unpair 2020-02-17 11:53:39 +00:00
Peter F. Patel-Schneider 4afe8c893b ui: add option to show the main window or run solaar without tray 2020-02-17 08:35:47 +00:00
Peter F. Patel-Schneider 5afa094175 ui: Add message about remaining pairings to pairing window when receiver has limited pairings 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider 4c46a999f7 gui: treat nano protocol disconnections correctly when pairing 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider 7bd31c0d95 cli: complain when trying to unpair from a receiver that does not unpair 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider dc2a1adf26 ui: handle re-pairing receivers correctly when pairing 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider e89b50cdf2 cli: correct reporting for pairing with receivers that re-pair (i.e., c534) 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider d08e0a9574 cli: Show a positive response instead of an error when receiver pairs on already-used slot in CLI 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider 22d37c4c1c ui: Better determination in GUI of when receiver may pair (still might be conservative) 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider 546ccb7ac2 receiver: determine remaining pairings (if receiver has this) and display in solaar show and main window 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider 1ab03d4c9f receiver: add check for bad results from getting the usb device 2020-02-16 22:16:37 +00:00
Peter F. Patel-Schneider a6fcb75aa8 receiver: get receiver name from receiver information list 2020-02-16 22:16:37 +00:00
Peter F. Patel-Schneider 907c5ab075 receiver: change usb identification of receivers to dictionary to allow adding other fields, add receiver name to dictionary 2020-02-16 22:16:37 +00:00
Peter F. Patel-Schneider 515f994ab8 receiver: ignore disconnects of disconnected devices 2020-02-16 22:16:37 +00:00
Peter F. Patel-Schneider 25905c5d77 receiver: Show type of receiver in CLI show command 2020-02-16 22:16:37 +00:00
Peter F. Patel-Schneider babf0f4ded receiver: Show serial number in stringify of receivers 2020-02-16 22:16:37 +00:00
Peter F. Patel-Schneider 4f4e610635 receiver: battery level 0 is unknown level 2020-02-10 18:44:28 +00:00
Dmitriusan bd26b9340d
scripts/debian: switch to python3 2020-02-06 19:06:47 +01:00
Peter F. Patel-Schneider 0520dde990 receiver: use None for serial number of c534 2020-02-04 22:04:43 +01:00
Peter F. Patel-Schneider 1bc189e2fe ui: add --tray option to start without window visible 2020-01-22 22:22:14 +00:00
Peter F. Patel-Schneider 56762b5494 device: move persister from Setting to _DeviceDescriptor to get around problem with settings discovered after startup 2020-01-21 03:23:25 +00:00
Peter F. Patel-Schneider 77e21a0b63 ui: fix crash when styles add padding by not setting 1-pixel columns; slightly better window layout; add style class to window 2020-01-21 03:11:35 +00:00
Peter F. Patel-Schneider d6fa5269c5 ui: don't ignore offline devices when determining whether pairing is possible 2020-01-21 03:08:49 +00:00
Peter F. Patel-Schneider 0198d58dc7
hidpp20: fix error when showing battery
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-01-19 18:18:33 +00:00
Alex Cherkayev 814b7f30ba
docs: features: added some missing feature names and list of implemented features
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-01-19 18:17:18 +00:00
Alex Cherkayev 8039c035a7 devices: Add new variant of K800 keyboard
docs: Add K800 new variant to supported
2020-01-12 16:11:03 +00:00
effective-light 430b70711b hidpp20: features: add BATTERY_VOLTAGE (0x1001) support
Signed-off-by: Filipe Laíns <lains@archlinux.org>

Co-authored-by: Filipe Laíns <lains@archlinux.org>
2020-01-12 16:05:21 +00:00
Peter F. Patel-Schneider 995544396c receiver: don't log messages with unknown report IDs 2019-12-26 16:10:48 +00:00
Peter F. Patel-Schneider 4678f52293 don't have window always be on top 2019-12-24 18:54:12 +00:00
Peter F. Patel-Schneider c6ccc0638d devices: add M310 2019-12-24 12:49:00 +00:00
spaced 4fafd4f6be hidpp20: features: add very basic implementation of 0x1982 (Backlight 2)
Fixes #547
2019-12-12 18:56:08 +00:00
Chad Condon c389c9c2b7 ur: repair low resolution smooth scrolling 2019-11-30 23:12:07 +00:00
Tom Swartz ae9e862f19 Fix typos in comments 2019-10-20 23:53:45 +01:00
Tom Swartz 12f4e187d6 Fix typos in logging, output 2019-10-20 23:53:45 +01:00
Filipe Laíns 51dd2a5d28 notifications: add missing protocol names
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-10-20 23:19:34 +01:00
Alex Cherkayev 6981555804 notifications: fix battery status notification parsing
Fix indicator tooltip (duplicate Solaar line, python list instead of battery status).
2019-08-20 09:40:39 +02:00
spaced 3583759d3a devices: basic support for craft keyboard
* basic support for craft keyboard
* fix issue where _(status) throws exception because namedInt with UTF8.decode
2019-08-20 09:39:11 +02:00
Zachary Cook a06ea6de11 data: fix icon theme for battery level
It was previously assigning levels 1-89 to caution and 90+ to full, which was unintended due to the floor division by 100
2019-08-20 09:35:31 +02:00
Andreas Schneider a868b477e1 Fix reading and storing DPI in config settings
Fixes #328
Fixes #356
Fixes #545
2019-08-20 09:24:22 +02:00
spaced 1ff9c3a40b support for silent mouse M585/M590 2019-08-20 09:23:38 +02:00
Filipe Laíns 2aab7f71fd
release 1.0.1
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 16:55:51 +01:00
Filipe Laíns 6376980213 udev: fix c52b + MX Master
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 17:50:13 +02:00
Filipe Laíns 1bb08d011d
base-usb: add new Lightspeed receiver
used in the G305

Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 15:23:55 +01:00
Filipe Laíns 966c55e69d
base-usb: fix non-unifying for linux 5.2
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 15:18:24 +01:00
Filipe Laíns 6b14004a6f
udev: fix writting to the device
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 15:10:59 +01:00
Daehyeok Mun 7a4f7bbb84 docs: fix broken github.io link to new repo url
Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2019-07-26 15:38:16 +02:00
Matthias Fulz 155e2f8c40 fix: #531 #537. Better handling of EPIPE during hid write. 2019-07-26 15:35:21 +02:00
Filipe Laíns 6a1968beff
release 1.0.0
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 14:33:16 +01:00
Filipe Laíns f4557233f1 base-usb: add support for Lightspeed receivers
They way we are currently identifying the type of a receiver (unifying,
nano, lightspeed) in the Receiver class is pretty bad. The correct
approach would be to specify the receiver type name string in
base_usb.py.

Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-16 11:10:03 +02:00
Peter Wu a587ae65d1
Merge pull request #477 from doctor64/pointer_info_show
Added status info print and rename some functions
2019-06-29 18:08:52 +02:00
Peter Wu 127a8053d8
Merge pull request #521 from kacpi2442/master
Added basic support for Lenovo dongle,
https://download.lenovo.com/consumer/options/lenovo_n50_wireless_optical_mouse.pdf
2019-06-29 18:04:25 +02:00
Patrick Decat 6c0acee645 Fix UnicodeDecodeError with ngettext and python2 2019-06-29 18:01:54 +02:00
nicolas 60c52eb13f Name for K780
“Multi-Device” and not “Solar”
2019-06-29 17:59:44 +02:00
Benoit Hanotte 8bac8d68f4 Add MX Master settings
Add the same settings to the logitech MX Master as the one from the MX
Master 2 (scroll wheel DPI, smart scoll sensitivity).
2019-06-29 17:57:02 +02:00
kacpi2442 481511b6c2 Added basic support for Lenovo dongle 2019-04-15 15:40:40 +02:00
Peter Wu c07c115ee3 Avoid collision for wpid 4055 (M185 vs M235)
Hopefully use of a slash does not cause issues. M505 already uses slash
in its codename.

Fixes #499
2019-01-30 16:58:00 +01:00
Markus Heiser 932164458a icons: add application icons from repo's $git-toplevel/share/solaar/
Add application path from the repository to the search paths.

When you Install a project in editable mode (i.e. setuptools "develop mode")
from a local project path, the application path is ``./share``, relative to
git's top level folder. Add this path at the end of search path::

  echo "$(git rev-parse --show-toplevel)/share"
2019-01-30 12:38:54 +01:00
Markus Heiser de79bf1b5c gtk.main(): make source more readable + comment about cli & gui 2019-01-30 12:38:54 +01:00
Peter Dave Hello 68b1f4e413 Update Data of Wireless Mouse M235 (#486) 2019-01-30 12:35:20 +01:00
Beni Cherniavsky-Paskin 1609c3e98a Display "K400 Plus" rather than just "Plus" (#483) 2018-12-30 18:19:38 +01:00
Alex Cherkayev ed9aa76547 Added status info on features MOUSE_POINTER, VERTICAL_SCROLLING, HI_RES_SCROLLING, POINTER_SPEED and LOWRES_WHEEL to solaar show.
Renamed functions for HI_RES_SCROLLING and LOWRES_WHEEL features for consistency.
2018-11-20 16:29:38 +02:00
Mattias Jernberg f79ad67ea7 Add trackball for all settings that mice have 2018-08-13 18:44:16 +02:00
Mattias Jernberg dd8018a4d5 Prepare for allowing multiple device kinds in settings 2018-08-13 18:44:16 +02:00
Mattias Jernberg 350784eb70 Print an error message when assertion fails 2018-08-13 18:36:52 +02:00
Peter Wu f0fc63e5b7
Merge pull request #295 from cschreib/master
Added support for MintX icon set (for Linux Mint integration)
2018-08-13 11:33:10 +02:00
Ben Wolsieffer 2c0ea34694 Fix device tree GUI hierarchy. 2018-08-11 16:24:15 -04:00
Peter Wu 867edf8516
Merge pull request #146 from tristianc/master
Added border around tree view.
2018-08-11 17:55:37 +02:00
Peter Wu dcd1a88250
Merge pull request #390 from Toshik1978/master
Added Logitech K375s support
2018-08-11 16:36:13 +02:00
Peter Wu 336b778398
Merge pull request #452 from lopsided98/hidpp-4.5-fixes
Fix errors related to sleep and power on/off (especially HID++ >=2.0 devices).

Closes #414 by @SonicFrog who originally came up with a similar fix for the connection notice.
2018-08-11 16:26:25 +02:00
Peter Wu 572c7f5e59
Merge pull request #450 from lopsided98/new-m705
Add support for new version of M705 (M-R0073).
2018-08-11 16:11:37 +02:00
Peter Wu ade2fbacec
Merge pull request #399 from Valantin/patch-1
Add MX Master 2S descriptor
2018-08-11 16:03:18 +02:00
Ben Wolsieffer a59368f3e7 Fix issues with HID++ >= 2.0 devices (particularly related to sleep).
* Don't assume 0x41 messages only occur when a device is first paired
    (prevents errors when waking from sleep or turning a device on)
  * Delay reads/writes when a device is powered on, to prevent broken pipe
    errors (hacky solution).
  * Don't clear status when a device connects, preventing settings from being
    cleared when a device sleeps or is turned off.
  * Fix typos.
2018-08-10 23:15:37 -04:00
Jason Tibbitts d021d87656 Python 3.7 compatibility fixes
This fixes the python 3.7 incompatibilities arising from 'async'
becoming a reserved word.

The file lib/solaar/async.py is renamed to asks.py.  I picked the name
because it defines the TaskRunner class and it's the best I could come
up in fifteen seconds.

The async function in solar/ui/__init__.py is renamed to ui_async, and
the various imports of that function are changed to match.

Without this patch it doesn't build at all.  I am running with this
patch applied and everything appears to work as expected.

Signed-off-by: Jason Tibbitts <tibbs@math.uh.edu>
2018-08-07 12:51:32 -04:00
Ben Wolsieffer 5d0d353c74 Add support for new version of M705 (M-R0073). 2018-08-05 00:10:59 -04:00
Peter Wu 1a67b33860
Merge pull request #382 from mchehab/fix_solaar_start_issues
Fix solaar start issues
2018-01-12 18:11:45 +01:00
Roberto Valentini f8079f4f9d
Add MX Master 2S descriptor
Add descriptor for MX Master 2S to support High Resolution Wheel, correct charge level and DPI configuration
2017-11-16 14:53:27 +01:00
Anton Krivenko 47e7f997d5 Added Logitech K375s support 2017-10-14 22:08:40 +03:00
Josenivaldo Benito Jr aeb943fc9e Descriptor for K270 and M185
This K270 is the non unifying version and we know that it has, at
least, one variation (unifying) out there.

M185 mouse is also older, as per PR #337 there is at least two newer
versions of this mouse.

Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2017-09-25 14:57:11 -03:00
Peter Wu 10f3421021 Merge pull request #345 from jrbenito/M510_v4.5
Add M510 (new version) to descriptors
2017-09-21 00:30:31 +01:00
Mauro Carvalho Chehab 632d8804be listener: don't add elements if queue is full
When Solaar is loaded, if a large number of events happen,
it will lose the register events, as the queue size is too
small (16). So, check if the queue is full, in order to
avoid losing those important events.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-11 10:36:12 -03:00
Mauro Carvalho Chehab a4b7194490 listener: fix device registration logic
The "already_known" var actually doesn't track if the device was
already registered or not.

That causes race issues at Solaar, causing it to sometimes not
detect a device.

Change the logic to always call register_new_device if the
corresponding events happen, and updating already_known
to reflect it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-11 10:34:23 -03:00
Mauro Carvalho Chehab ea80c6d639 ui: notify.py: disable python Notify extension
For whatever reason, this doesn't work on Fedora 26:

06:47:05,925    DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (13) => r[20 02 0100 0000000000000000000000]
06:47:05,925    DEBUG [ReceiverListener:hidraw1] logitech_receiver.notifications: <PairedDevice(2,2011,K520)> (1.0) custom notification Notification(2,01,00,000000000$
06:47:05,925  WARNING [ReceiverListener:hidraw1] logitech_receiver.notifications: <PairedDevice(2,2011,K520)>: unrecognized Notification(2,01,00,000000000000000000000$
06:47:08,806    ERROR [MainThread] solaar.ui.notify: showing <Notify.Notification object at 0x7f82c2484640 (NotifyNotification at 0x556fa0fc5a40)>
Traceback (most recent call last):
  File "./devel/solaar/lib/solaar/ui/notify.py", line 145, in show
    n.show()
Error: g-io-error-quark: Error calling StartServiceByName for org.freedesktop.Notifications: Timeout was reached (24)


So, disable it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-11 07:02:48 -03:00
Mauro Carvalho Chehab a01e4b2efe hidpp20.py: handle gracefully errors at REPROG_CONTROLS_V4
At least with Anywhere Mouse MX 2, one reprogrammed key
fails to read:

    ERROR [MainThread] logitech_receiver.base: (3) device 3 error on feature request {0829}: 2 = invalid argument

That causes "solaar show" to crash.  Instead, let's handle
errors there gracefully, reporting it as:

         7: unknown:00C3              , default: unknown:009C                => unknown:00C3
             virtual, pos:0, group:4, gmask:0

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-10 22:53:19 -03:00
Mauro Carvalho Chehab 801bdfa224 Remove the hid++ high-res wheel notification
The best is to make the logitech-hidpp driver to switch to
hid++ notification mode when it starts. As we don't want users
to mangle with it, let's remove support from it.

PS.: I opted to keep this as a separate patch. This way, if
anyone needs to add support for it, in order to debug the
driver, it is just a matter of reverting this patch.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-10 21:49:18 -03:00
Mauro Carvalho Chehab 410d100dc6 Add notification for high-resolution Wheel events
The event at address 0 is only produced while in HID++ mode.

The rachet event (address 0x10) happens on both HID and
HID++ modes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-10 21:49:18 -03:00
Mauro Carvalho Chehab 7078750a3f MX Anywhere2: Correct feature Smooth Scrool
Set wrongly to HI_RES_SCROLLING. Correct it to HIRES_WHEEL as reported
by MX Anywhere2.

relates to #283

Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2017-09-10 21:49:18 -03:00
Mauro Carvalho Chehab 360c92f6b0 Add support for CLI show to display High Res Wheel settings
Add support for the high resolution wheel found on MX Anywhere 2.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-10 21:44:30 -03:00
Peter Wu 684afa871e Merge pull request #337 from doctor64/m185
Basic support for M185 mouse
2017-07-17 00:08:19 +02:00
Alex Cherkayev f9618dd0ab Add M185 keys reporting using REPROG CONTROLS V4 in cli
Add smooth scrolling using LOWRES_WHEEL
Add mouse speed selection using POINTER_SPEED
2017-03-21 18:02:59 +02:00
Alex Cherkayev db0656967b Add basic 0xc534 receiver and M185 mouse support
Fix connection notification protocol for M185
Fixes from review
2017-03-21 18:00:44 +02:00
Peter Wu 53ec751cf1 Merge pull request #343 from jrbenito/K270-unifying
Wireless Keyboard K270 unifying
2017-03-21 00:07:26 +01:00
Josenivaldo Benito Jr d9d37edc2f MK220 Combo descriptor for Mouse M150 and new docs
Thanks to @FabioBeneditto for providing information.

Depends on #337

fixes #222

Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2017-03-10 10:47:23 -03:00
Josenivaldo Benito Jr ae405871fb Add M510 (new version) to descriptors
Depends on #337

fixes #279

Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2017-03-08 19:48:23 -03:00
Josenivaldo Benito Jr d2d19a615d Wireless Keyboard K270 unifying
Descriptor and docs for K270 unifying version.

Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2017-03-08 16:23:30 -03:00
Dimitriy Ryazantcev 197ff7365d Add Russian translation 2016-12-21 00:18:01 +02:00
Dimitriy Ryazantcev 934ecb821d Update l10n strings in code 2016-12-21 00:18:01 +02:00
Peter Wu f0cf949336 Merge pull request #322 from jrbenito/anywhere2
Anywhere MX 2 device information and descriptor
2016-12-20 21:29:10 +01:00
Josenivaldo Benito Jr 3b60f205f7 K780 add descriptor support and device information
Device information provided by @faassen
Tests provided by @ralphdd

relates to #298

Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2016-11-30 14:38:44 -02:00
Josenivaldo Benito Jr d6c93cfcfe Anywhere MX 2 device information and descriptor
Information from mouse Anywhere MX 2 as provided by @fropeter
Descriptor for mouse based on dump provided

Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2016-11-30 14:24:50 -02:00
Josenivaldo Benito Jr d83530bee3 pt-br: Improve translations
Some pt-br translation where ambiguous or too missing 'not' statement.
Add original translator, Mr. Drovetto, to the documentation.

Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2016-11-21 17:25:22 -02:00
muzena fb1442dbcb Add croatian translation 2016-11-15 16:34:20 +01:00
muzena 0b8141f092 Logitech G700 and G700s Gaming mouse support 2016-11-14 16:39:23 +01:00
Peter Wu 4c1f568fab Merge pull request #141 from ghost
Italian translations
2016-11-10 13:04:42 +01:00
Jhonny Oliveira 9a9a82016f Add support to G700 Gaming Mouse receiver 2016-11-10 12:25:54 +01:00
Jhonny Oliveira aa03cef61f Add support to MK320 mouse and keyboard combo 2016-11-08 09:17:02 +01:00
Peter Wu c14e30b6f5 Fix crash when AppIndicator3 is unavailable
Convert ValueError to an ImportError (hack!) to allow the fallback code
to function.

Fixes https://github.com/pwr/Solaar/pull/276
2016-11-06 19:50:32 +01:00
cschreib b5d43cdc3c Added support for MintX icon set (for Linux Mint integration) 2016-10-22 13:49:50 +02:00
vbs 358e0958bb fixed wrong interpretation of bit 6 of the notification byte which indicates if the link could be established (bit cleared) or not (bit set)
https://lekensteyn.nl/files/logitech/logitech_hidpp10_specification_for_Unifying_Receivers.pdf
2016-09-17 18:05:03 +02:00
Javier Torres ba540338e2 Add smart shift feature for MX master 2016-06-09 19:46:03 +02:00
Javier Torres 2442fee341 Add support for range features in GUI 2016-06-09 19:46:03 +02:00
Javier Torres bbadd3e755 Add support for range features in CLI 2016-06-09 19:46:03 +02:00
Javier Torres 2fdce2f938 Add range features 2016-06-09 19:46:03 +02:00
Javier Torres f1fad2d16b Add range validator 2016-06-09 19:46:03 +02:00
Chris Mayo e046455a05 Fix: "AppIndicator3 was imported without specifying a version first"
PyGIWarning: AppIndicator3 was imported without specifying a version
first. Use gi.require_version('AppIndicator3', '0.1') before import to
ensure that the right version gets loaded.
2016-05-03 20:20:46 +01:00
Peter Wu ddbc27486c Merge pull request #136 from erik-smit/gobject_not_allow_None
Fixes a TypeError on older GObject libraries (as evident with Ubuntu 12.04 and OpenSUSE 12.3).
2016-04-17 14:11:15 +02:00
Peter Wu 2041007b38 Merge branch 'features'
Automatically detect FN swap feature and DPI adjustment on some newer
devices. DPI adjustment partially addresses support for the MX Master
(#208), Smart shift is still missing.
2016-04-17 12:43:15 +02:00
Peter Wu 883ed9549d Fix DPI list assertion 2016-03-25 00:06:00 +01:00
Peter Wu d1858f747b Assume 7 words for the DPI list response
HID++ 2.0 responses are 20 bytes, once you strip the 4 byte common
header and 1 byte sensorIdx, you have 15 bytes left. Since DPI values
are 16-bit words, only 14 bytes should be used.
2016-03-24 16:59:05 +01:00
Peter Wu aa7d1b6410 Skip sensorIdx in getSensorDpiList response 2016-03-24 15:13:06 +01:00
Peter Wu 5b01f375e0 Merge pull request #254 from emerham/master
Adding Logitech mx 1100 cordless laser mouse to discriptors
2016-03-24 14:56:55 +01:00
Peter Wu dd2755909d cli/config: fix error message
Attempt to fix:

    $ bin/solaar config master dpi higher
    solaar: error: coercing to Unicode: need string or buffer, int found

The DPI choices are integers, therefore cast it to a str.
2016-03-18 12:27:16 +01:00
Peter Wu b052ab9ef0 Fix thinko in Adjustable DPI setting
There are three bytes forming the parameter, the sensor ID is the MSB,
not LSB.
2016-03-18 12:14:15 +01:00
Peter Wu 9c768d60a1 Add full support for adjustable DPI
Feature 0x2201 as used by the MX Master. Valid DPI values are read
directly from the device. Based on Logitech specifications.
2016-03-15 23:37:39 +01:00
Matthew Brabham d1d0ab85ff Updated mouse device settings and deffinition. Added docs for the MX 1100 2016-03-14 13:05:05 -07:00
Peter Wu e1eee2e078 Fix "Gtk was imported without specifying a version first"
Fixes the following warnings:

    sys:1: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
    sys:1: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
2016-03-14 11:33:05 +01:00
Peter Wu 5c38f90cd6 Merge branch 'issue/199'
Fixes #136.
2016-03-14 11:10:49 +01:00
Peter Wu 45d49b9de8 settings: fix Python 3 compat for boolean values
As observed for the fn-swap setting.
2016-03-14 01:48:56 +01:00
Peter Wu ab162583e4 cli: do not die on missing description
The DPI setting has no description, do not try to display it.
2016-03-13 23:59:21 +01:00
Hugo Osvaldo Barrera 63a98819a6 Don't open a main window when battery is critical
The main window suddenly opening when a battery is critical is very
disruptive. It can pop up on all sort of undesirable scenarios.

Rather than catch users of guard, merely show a notification that the
battery is critical.
2016-02-19 03:25:55 -03:00
Stephen Lyons 478381a994 add: wpid for M 175 to distinguish between it and M185 wireless mouse
I own the former and wanted to correct this detail which caused the wrong
model to be shown in GUI.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
2016-02-10 19:09:25 +00:00
Matthew Brabham 51a15a960f Adding Logitech mx 1100 cordless laser mouse to discriptors 2016-01-26 11:04:47 -08:00
Peter Wu 92967eed23 Merge pull request #249 from mulkieran/master-pyudev
Fix some bugs in udev.get_indexed_string.
2016-01-13 15:24:51 +01:00
mulhern d75b6d2f2b Fix some bugs in udev.get_indexed_string.
* from_device_number raises an exception if no device found, rather than
returning None. So, instead of checking the result, catch the exception.
* Use Attributes.get() method instead of checking containment and using the
index operator. This is really the only correct way, see rhbz#1267584.

Effect of the changes:
Previously, if no device was found this method would raise an exception.
Now it returns None instead.
Previously this method read the value of the attribute corresponding to key
twice, once via 'key in attributes' and again when accessing the key.
Now, it just reads it the one time.

Reason for noticing all these problems:
In pyudev-0.18 the Attributes class is fixed, and no longer has the []
operator or __contains__ method or other methods which require a total
mapping. This patch fixes several bugs while simultaneously avoiding these
removed operators.

Signed-off-by: mulhern <amulhern@redhat.com>
2015-12-23 09:22:48 -05:00
Marc Belmont 15f97681ef Add setting for K400 Plus keyboard
The new_fn_swap works on the K400 Plus model.
2015-08-24 19:01:21 +02:00
Peter Wu 5ba816dd38 [WIP] Support MX Master with DPI adjustment support (#208)
It's not known whether the DPI ranges can be queried, so let's set
hard-code some values for now. Step size is 200. Does this need to
be changed?

TODO: need a capture of whether this is really a read function.
2015-05-31 15:53:26 +02:00
Peter Wu a515cc3860 Auto-detect FN swap feature for newer devices 2015-05-31 10:56:57 +02:00
Peter Wu 73344cbf26 Simplify feature checking
Make mapping features to settings more readable. No functional changes.
2015-05-31 10:38:49 +02:00
Peter Wu cf27328d13 Merge branch 'updates'
Documentation updates.
2015-05-27 23:43:10 +02:00
Peter Wu e2d65a690e hidpp20: update features list
Based on SetPoint6.65.62_32.exe and Options_2.10.73.exe (features.xml,
defaults.xml, LogiOptionsMgr.exe).

The names are based on the named next to the feature ID. For duplicates,
_2 is appended to the name.

This commands helps parsing numbers from debug prints:

    strings LogiOptionsMgr.exe |
    sed -nr 's/.*(Feature[0-9a-fA-F]{4})/\1 /p' | sort |
    awk 'tolower(a)!=tolower($1){print"";a=$1}1;' | less -S
2015-05-27 23:20:43 +02:00
Peter Wu 3141f06472 Fix crash due to non-locatable icon names (#199) 2015-05-27 23:16:39 +02:00
CzBiX 76e327d2fa update docs for M325 2015-05-08 13:27:29 +08:00
CzBiX 0ae0ef195a support switch smooth scroll feature 2015-05-08 13:20:46 +08:00
Daniel Serpell 3ea51fe1a2 Add support for MK220 mouse-keyboard combo device.
The MK220 receiver has usbid 046d:c52e, adding this id as a generic
receiver is enough to show the mouse and keyboard charge status.
2015-03-06 08:07:22 -03:00
Mikkel Munch Mortensen 66296265ba Descriptor for k830. 2015-03-05 19:15:12 +01:00
Mikkel Munch Mortensen 952495ce04 Support for NEW_FN_INVERSION. 2015-03-05 19:14:28 +01:00
Tristin Celestin 2b08c5e0c9 Added border around tree view. 2014-01-01 21:45:44 -05:00
Michele Olivo 437e17cf37 Added Italian translation 2013-12-13 18:09:46 +01:00
erik-smit 9a6cdd9cee TypeError: Argument 3 does not allow None as a value 2013-10-31 11:16:38 +01:00
David Plassmann 8485494ea7 It should check for None specificly 2013-09-25 14:12:53 +02:00
David Plassmann 7a75813a84 level is returned as None in hidpp10.py when the performanceMX mouse is
charging. Since the battery state is unknown when beeing recharged it
will now return "N/A".
Before it would crash becasue level was None and could not be inserted
using %d.
2013-09-24 16:56:50 +02:00
Peter Wu 1434b2a50d Update features and keys list
Updated to information available from SetPoint 6.61.15.
2013-08-27 17:55:45 +02:00
Daniel Pavel c3fdbfb643 translate battery alerts (fixes #119) 2013-08-25 23:03:25 +03:00
Peter Wu b193b39701 Fix missing reprogrammable keys
The assumption that the Features IDs are in increasing order does not
hold. This causes the feature check for REPROG CONTROLS (1B00) to fail,
therefore remove the micro-optimisation.

While at it, rename variables and document the functions better.
2013-08-23 21:33:45 +02:00
Peter Wu 9c465cd998 Fix wrong register name for illumination (hidpp10)
Broken since 9a2a28e, this causes a lot of exceptions for every move.
2013-08-21 21:47:24 +02:00
Peter Wu 024a71b618 solaar: add --hidraw option again
This options allows the devices list to be restricted which got removed
in:

    commit 3b75b69970
    Author: Daniel Pavel <daniel.pavel@gmail.com>
    Date:   Fri Aug 9 12:25:47 2013 +0200

        merged solaar-cli functionality into main solaar binary

solaar-cli is still busted, but since it is deprecated, it's probably
fine.
2013-08-21 21:47:24 +02:00
Peter Wu f144816256 solaar-cli: fix argument parsing in Python 3 again
Fix from e3a887f36c, this got removed
in:

    commit 3b75b69970
    Author: Daniel Pavel <daniel.pavel@gmail.com>
    Date:   Fri Aug 9 12:25:47 2013 +0200

        merged solaar-cli functionality into main solaar binary
2013-08-21 21:47:24 +02:00
Daniel Pavel 69febfcea5 don't rely on upower to check devices after wake-up (#111)
still use upower resume events to ping devices, just in case
the old behaviour is available with a command-line option
2013-08-12 15:22:34 +02:00
Daniel Pavel 9934755566 more translation fixes (#108) 2013-08-12 00:32:19 +02:00
Daniel Pavel 3b75b69970 merged solaar-cli functionality into main solaar binary 2013-08-09 12:25:47 +02:00
Daniel Pavel a4f0eab855 updated descriptors with a few more devices 2013-08-08 22:44:23 +02:00
Daniel Pavel f54ea27d97 updated translator credits in about dialog 2013-08-08 22:43:32 +02:00
Daniel Pavel db48fe1b40 re-formatted translation files 2013-08-08 22:41:57 +02:00
Daniel Pavel 5faecbf4f3 some strings were untranslated; fixes #100 2013-08-08 21:50:04 +02:00
Daniel Pavel 5af1719384 tray: always pick the lowest battery, if the user hasn't already 2013-08-08 21:49:59 +02:00
Daniel Pavel 6a66370ffe scrolling over the tray icon switches among devices; fixes #101
It now works for the standard systray as well, not just the
appindicator.
2013-08-08 21:49:54 +02:00
Daniel Pavel c0874220d2 don't str() translated device status; fixes #108 2013-08-08 21:49:50 +02:00
Daniel Pavel 22656d5b82 use Gtk.Application properly 2013-08-08 21:49:35 +02:00
Daniel Pavel d55963caba clean-up in usb IDs 2013-08-08 21:49:35 +02:00
Daniel Pavel 413cebe40f delay some UI initialization until necessary 2013-08-08 21:49:35 +02:00
Daniel Pavel edc563e0e4 release 0.9.2 2013-07-24 11:40:54 +02:00
Daniel Pavel 969ca59948 translation credits: order languages alphabetically 2013-07-24 11:39:45 +02:00
Daniel Pavel c97f4082dd translation credits updated 2013-07-23 22:49:47 +02:00
Daniel Pavel 3d4570cd1f check the Gtk bindings version at start-up 2013-07-20 06:22:15 +02:00
Daniel Pavel b6bc35ed3e K800: added support for hand detection 2013-07-19 11:49:30 +02:00
Daniel Pavel 5d4d0c07ad use () instead of [] where possible 2013-07-19 11:48:40 +02:00
Daniel Pavel 15cb97c56e udev devices may not have all the attributes; fixes #93 2013-07-19 11:46:50 +02:00
Daniel Pavel fcfc7cd6fc a few more asserts in descriptors
just testing stuff...
2013-07-18 20:38:05 +02:00
Daniel Pavel c3718d22d6 minor clean-ups 2013-07-18 20:36:27 +02:00
Daniel Pavel 2829acd6f5 added side-scrolling toggle setting 2013-07-18 20:35:39 +02:00
Daniel Pavel c35ae8ffc9 added wpid to T650 descriptor 2013-07-18 20:34:29 +02:00
Daniel Pavel f7159e9338 properly mask flags when writing device settings; fixes #86 2013-07-18 20:33:52 +02:00
Daniel Pavel 4074fb7750 trim the codename to the declared length (fixes #90) 2013-07-18 16:23:34 +02:00
Daniel Pavel 444169d84b added descriptor for V550 Nano 2013-07-18 15:26:53 +02:00
Daniel Pavel 5d5f97a776 Gtk.Application.get_dbus_object_path my be missing 2013-07-18 14:06:51 +02:00
Daniel Pavel a8c5d3bc24 Nano receivers were unsupported on kernel 3.2; fixes #88 2013-07-18 14:01:36 +02:00
Daniel Pavel a3f9860181 added descriptor for V450 Nano; fixes #89 2013-07-17 20:02:31 +02:00
Daniel Pavel 1fed000855 added wpid to M515 desccriptor 2013-07-17 19:54:28 +02:00
Daniel Pavel 61dfefde94 internationalized most strings; fixes #79
some might have slipped through the cracks
2013-07-17 19:53:21 +02:00
Daniel Pavel a4c0ad3d73 added M345 descriptor info 2013-07-16 12:51:01 +02:00
Daniel Pavel 38c76393b1 added copyright notices to all source files 2013-07-15 17:54:42 +02:00
Daniel Pavel ce9b10dc2d started i18n support 2013-07-15 17:16:44 +02:00
Daniel Pavel 16af3a9acc version 0.9.1 2013-07-13 11:24:41 +02:00
Daniel Pavel c690b2c9e9 minor descriptors clean-up 2013-07-13 11:15:23 +02:00
Daniel Pavel 43ab629a26 moved logitech.unifying_receiver package to logitech_receiver 2013-07-12 22:48:09 +02:00
Daniel Pavel b83a14e16f minor clean-ups and formatting 2013-07-12 22:39:17 +02:00
Daniel Pavel a966bbff6f fixed handling of protocol version when the device is offline 2013-07-12 22:23:03 +02:00
Daniel Pavel 141a5c3dee don't ping devices known to be offline 2013-07-12 22:07:58 +02:00
Daniel Pavel 994bb07bc4 descriptors updated 2013-07-12 21:55:32 +02:00
Daniel Pavel 24f658d8fe support multiple Wireless PIDs for same device model 2013-07-12 21:53:23 +02:00
Daniel Pavel 49d77a2f90 handle unknown devices slightly better 2013-07-12 20:30:46 +02:00
Daniel Pavel d78c7ed9be make sure items in window tree are sorted by number (fixed #73) 2013-07-12 15:24:49 +02:00
Daniel Pavel 51d0ccf654 only popup the window once per device on battery alerts 2013-07-12 14:35:16 +02:00
Daniel Pavel 9c8252b59f on alert popups, selected the device that triggered the popup 2013-07-12 14:10:26 +02:00
Daniel Pavel 488a78cc52 fixed #75 (pair button disappearing) 2013-07-12 10:35:28 +02:00
Daniel Pavel 0e6d088372 fixed some awkward path joining stuff 2013-07-11 22:46:29 +02:00
Daniel Pavel 948b4c4d51 updated descriptors and devices doc for Anywhere MX 2013-07-11 15:34:36 +02:00
Daniel Pavel 85efe92d30 replaced appinstance with GtkApplication 2013-07-09 17:52:07 +02:00
Daniel Pavel c0a7838429 version 0.9.0 2013-07-09 14:42:46 +02:00
Daniel Pavel eda4112501 removed obsolete old window code 2013-07-08 21:21:53 +02:00
Daniel Pavel dbb9025e26 replaced _ dummies with _ignore 2013-07-08 21:21:14 +02:00
Daniel Pavel beee0bc8c2 typo in comment 2013-07-08 20:51:30 +02:00
Daniel Pavel 1be56dd072 version 0.8.99.12 2013-07-07 21:58:33 +02:00
Daniel Pavel d0b8233c9a minor clean-up 2013-07-07 21:40:55 +02:00
Daniel Pavel 39534d11dd make sure all debug and info loggings are if-guarded 2013-07-07 17:18:42 +02:00
Daniel Pavel ca2f5f927c configuration: save on every change (fixes #80) 2013-07-07 16:06:27 +02:00
Daniel Pavel 8b26759731 release 0.8.99.11 2013-07-07 14:04:11 +02:00
Daniel Pavel 7221ceb7b4 forget battery status when the device has been offline for too long 2013-07-07 12:23:58 +02:00
Daniel Pavel 66416ff4cc fixed parsing of custom battery messages 2013-07-07 12:23:23 +02:00
Daniel Pavel 0d89d1e6c8 formatting fix in unpairing error dialog 2013-07-07 01:31:22 +02:00
Daniel Pavel 94d07eed53 version 0.8.99.10 2013-07-06 14:35:34 +02:00
Daniel Pavel 508444526a commented-out the poll-ticking feature
not useful right now, and less code to worry about
2013-07-06 14:23:56 +02:00
Daniel Pavel faa6de3b75 more explicit error dialogs, when possible 2013-07-06 14:20:50 +02:00
Daniel Pavel 77d2ae5249 omit the date in logging, is not important and the lines are shorter 2013-07-06 14:20:12 +02:00
Daniel Pavel e2f94a9e0e be more lax as to when to allow pairing new devices 2013-07-06 13:55:22 +02:00
Daniel Pavel ba55e4d9bd import * cleanups 2013-07-05 16:19:49 +02:00
Daniel Pavel 8e9ff939f3 hidconsole: enable hidpp automatically when talking to a Logitech Recevier 2013-07-05 16:19:24 +02:00
Daniel Pavel bd3198f6f0 correctly handle out-of-process pairing and unpairing 2013-07-05 16:06:38 +02:00
Daniel Pavel 3319feeb73 replaced type() with isinstance() where possible 2013-07-05 16:02:38 +02:00
Daniel Pavel 47bcd4478c prettier error message if unpair fails 2013-07-05 14:35:06 +02:00
Daniel Pavel 065b8628d2 don't always show Notifications in details 2013-07-05 14:34:37 +02:00
Daniel Pavel 87e2f1cad7 solaar-cli: clearer handling of invalid device numbers 2013-07-05 14:34:18 +02:00
Daniel Pavel 373b07f271 fixed pairing in solaar-cli 2013-07-05 14:33:58 +02:00
Daniel Pavel 58f598fc88 version 0.8.99.9 2013-07-04 13:49:48 +02:00
Daniel Pavel 8f44c294d7 still getting strange messages from some devices 2013-07-04 13:37:39 +02:00
Daniel Pavel f65079ad6d formatting fix for notifications 2013-07-04 13:35:23 +02:00
Daniel Pavel edce56cd20 use a single separate thread for all possibly long-running stuff in GUI 2013-07-04 13:23:25 +02:00
Daniel Pavel cd437c3809 only set NOTIFICATION_FLAGS for 1.0 devices 2013-07-04 13:22:35 +02:00
Daniel Pavel 007cbef086 better coverage of incoming events 2013-07-04 13:20:00 +02:00
Daniel Pavel a03cc9ce64 more chair switching -- moved notifications handling into own .py 2013-07-03 08:21:40 +02:00
Daniel Pavel 3275aa4c12 allow most receivers to unpair (or at least try) 2013-07-03 08:18:47 +02:00
Daniel Pavel a0f880fbba fix for NoneType crash 2013-07-02 19:43:18 +02:00
Daniel Pavel 833f087fdf also show polling rate in Hz 2013-07-02 12:23:47 +02:00
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 fb495fd2fc version 0.8.99.8 2013-07-01 19:35:46 +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 20aa797e96 configuration: use wpid in device key 2013-07-01 18:53:10 +02:00
Daniel Pavel 5ebc2634ae (hopefully) better serial read-out for devices 2013-07-01 18:40:03 +02:00
Daniel Pavel 94464a40b8 show the battery charge in the devices tree, if available (fixes #71) 2013-07-01 18:39:17 +02:00
Daniel Pavel 1194abf125 don't know yet how to tell if the receiver supports the unifying protocol 2013-07-01 15:28:05 +02:00
Daniel Pavel ceba698678 moved settings templates into separate .py 2013-07-01 15:24:30 +02:00
Daniel Pavel b1e9480f5a minor logging tweaks 2013-07-01 15:00:21 +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 a9ea69b9a1 more explicit error message when trying to pair uncompatible devices 2013-07-01 11:41:47 +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 9896875180 cleaner import 2013-06-30 15:03:39 +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 2682722cb1 cleaned-up config_panel code 2013-06-29 20:35:35 +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 1d305db29e minor UI layout tweaks 2013-06-29 19:02:19 +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 f43e298ac7 clean-up configuration on load and save 2013-06-26 16:05:14 +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 ff6da43007 version 0.8.99.7 2013-06-25 16:08:47 +02:00
Daniel Pavel fc5c72e164 some clean-ups in descriptors 2013-06-25 16:01:29 +02:00
Daniel Pavel bd5c03812f replaced solaar png icons with svgs 2013-06-25 15:59:49 +02:00
Daniel Pavel 6b0b7ea823 minor clean-ups and formatting 2013-06-24 17:04:19 +02:00
Daniel Pavel dd24ed5fe0 brought solaar-cli in sync with the latest gui code 2013-06-24 17:02:45 +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 dc59c79bd3 properly handle tree re-selection when removing a receiver 2013-06-23 18:35:23 +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 d5374b9f51 optionally listen for upower suspend/resume events to stop/start all receiver listeners 2013-06-23 18:11:42 +02:00
Daniel Pavel 51e2d965cf version 0.8.99.6 2013-06-23 15:46:16 +02:00
Daniel Pavel b3aac40246 dropped activate_on_single_click, requires gtk 3.8 2013-06-23 13:44:34 +02:00
Daniel Pavel fb138b77ff version 0.8.99.5 2013-06-23 13:09:44 +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 7102229937 properly handle ^C in console 2013-06-22 21:32:19 +02:00
Daniel Pavel be80ba3b3b version 0.8.99.4 2013-06-21 22:27:18 +02:00
Daniel Pavel 4410cb6dc6 comment-out old main window 2013-06-21 22:25:04 +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 613b115eb4 fixed clean-up of config panel when unpairing devices 2013-06-21 16:51:39 +02:00
Daniel Pavel e19b690bd5 fixed reading of polling rate 2013-06-21 16:47:19 +02:00
Daniel Pavel 888be8e8a8 be a bit more patient when pairing, the device notification may come after the pairing lock is closed 2013-06-21 16:40:00 +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 8cd3b8fdef save configuration a little early, better timing on shutdown 2013-06-21 15:21:49 +02:00
Daniel Pavel c1aa341a7a tweaked timing of enabling receiver notifications 2013-06-21 15:20:52 +02:00
Daniel Pavel f9c192c47a only look for a different tray battery icon if the changed device is a peripheral 2013-06-21 15:19:07 +02:00
Daniel Pavel cdc6da844e made the config_panel self-contained 2013-06-21 15:18:21 +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 3a63c3ad43 fixed reading encrypted link status in pairing window 2013-06-21 15:04:06 +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 c797808a40 fixed status keys in pairing 2013-06-20 19:35:54 +02:00
Daniel Pavel d810ccba84 tray icon: pick the battery of the lowest _active_ device 2013-06-20 17:25:53 +02:00
Daniel Pavel 2fea5d9af2 disable the unpair button for peripherals of a Nano receiver 2013-06-20 17:21:58 +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 eb317f0d46 version 0.8.99.2 2013-06-20 14:49:02 +02:00
Daniel Pavel 27de1aea11 tray/window: append new devices rather than inserting them at the top 2013-06-20 14:43:49 +02:00
Daniel Pavel 92f7e761ee don't save the configuration if it hasn't been loaded first 2013-06-20 14:27:18 +02:00
Daniel Pavel b2f1786eff use consistent naming of offline state for devices 2013-06-20 14:18:36 +02:00
Daniel Pavel f8369e7c63 properly style the details panel 2013-06-20 14:18:03 +02:00
Daniel Pavel f095a74f2a make the main window a regular window (visible in tasks list) 2013-06-20 13:51:42 +02:00
Daniel Pavel 4e3fccb009 fixed sizing of details panel 2013-06-20 13:41:05 +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 47e22b788f version 0.8.99, will become 0.9 on release 2013-06-20 13:12:12 +02:00
Daniel Pavel 798628fdf8 add the USB id for the receiver in the details panel 2013-06-20 13:10:55 +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
Daniel Pavel 783b317281 added a protocol field to the device descriptors 2013-06-20 11:04:17 +02:00
Daniel Pavel 4bc525f250 minor clean-ups 2013-06-20 11:02:45 +02:00
Daniel Pavel 11cfc7ea09 enable notification on recevier as soon as possible 2013-06-19 19:46:54 +02:00
Daniel Pavel a806f2672d group all status keys into one object 2013-06-19 19:45:39 +02:00
Daniel Pavel 2fee88e54b fixed battery charge display in device info 2013-06-19 19:23:18 +02:00
Daniel Pavel 7e1a2a6e4f more fixes for device unpairing 2013-06-19 17:21:28 +02:00
Daniel Pavel d5b311760e clean obsolete settings controls when devices are unpaired 2013-06-19 17:04:01 +02:00
Daniel Pavel dffe6f8b91 fix display of firmware in details panel 2013-06-19 17:03:16 +02:00
Daniel Pavel b4bca4670b cache notification flags when possible
avoids unnecessary reads from devices when the status hasn't changed
2013-06-19 17:03:01 +02:00
Daniel Pavel 150c43f41f some logging in udev 2013-06-19 16:49:20 +02:00
Daniel Pavel 9fc11df229 fixed window update when unpairing 2013-06-19 16:22:44 +02:00
Daniel Pavel 56a7a960c3 polling: it may happen that the receiver is removed mid-poll 2013-06-19 16:14:04 +02:00
Daniel Pavel cd44cc6396 new single-window UI 2013-06-19 15:28:13 +02:00
Daniel Pavel 4af714f1dd K750: register the FN swap setting statically, no need to detect it at runtime 2013-06-18 16:48:02 +02:00
Daniel Pavel 836719587c renamed NANO receiver id 2013-06-18 16:45:44 +02:00
Daniel Pavel f32e958984 version 0.8.9.4 2013-06-17 16:12:32 +02:00
Daniel Pavel 57c759773a attach configuration to device settings objects 2013-06-17 11:00:53 +02:00
Daniel Pavel 9d6402a4f7 shorter thread name on receiver listener 2013-06-17 08:00:17 +02:00
Daniel Pavel a29609df21 only save the configuration once when Solaar ends 2013-06-17 08:00:00 +02:00
Daniel Pavel 04ea8293a8 persist and restore device settings 2013-06-16 17:41:03 +02:00
Daniel Pavel bde54aba3b proper shutdown of receiver listeners 2013-06-16 17:10:46 +02:00
Daniel Pavel a44d9b7ca8 fix battery display in main window 2013-06-16 17:10:46 +02:00
Daniel Pavel febf571d84 account for devices going out-of-range while active 2013-06-16 17:10:46 +02:00
Daniel Pavel 8852d50971 mark device status as inactive after idling out 2013-06-12 14:31:46 +02:00
Daniel Pavel 03e20842fb cleaned-up gtk ui initialization 2013-06-12 14:29:34 +02:00
Daniel Pavel d9801e2d57 fixed firmware info for some HID++ 2.0 devices 2013-06-12 14:21:31 +02:00
Daniel Pavel 29fe913fd8 version 0.8.9.3 2013-06-08 21:11:39 +02:00
Daniel Pavel 5b68f9623e fix indicator description when there are receivers but no devices 2013-06-08 21:10:17 +02:00
Daniel Pavel 2a6662472d account for all GLib.id_add_watch variants 2013-06-08 21:07:24 +02:00
Daniel Pavel 5cf6777340 more tweaks to idle polling 2013-06-08 21:06:52 +02:00
Daniel Pavel 17863c85b6 fixed querying for known registers 2013-06-08 21:06:22 +02:00
Daniel Pavel 237d0f9d9a keep the battery level if polling the device marks it as offline 2013-06-08 21:05:30 +02:00
Daniel Pavel b98e27e464 fix permissions error popup 2013-06-08 21:04:32 +02:00
Daniel Pavel d01d9edb78 tweaked idle polling timings 2013-06-08 16:27:03 +02:00
Daniel Pavel 0a86683392 clean-up in solaar.listener 2013-06-08 16:18:25 +02:00
Daniel Pavel b2b4febd31 receiver notifications: don't set all flags, might fail 2013-06-08 16:18:10 +02:00
Daniel Pavel ad67e6eaee fix read timeouts in base.py, use seconds everywhere 2013-06-08 16:17:14 +02:00
Daniel Pavel ed5ce48f65 fixes to polling receiver/device status 2013-06-08 16:16:12 +02:00
Daniel Pavel f324b97e8b use GLib.io_add_watch_full when available 2013-06-08 15:02:44 +02:00
Daniel Pavel 46544e1cbe listen for udev events on the GLib main loop 2013-06-07 14:39:04 +02:00
Daniel Pavel ffab6c0e12 move Gtk-specific idle_add() and main() into ui 2013-06-07 14:37:03 +02:00
Daniel Pavel 10e736386b user module __name__ when initializing logger 2013-06-07 14:28:13 +02:00
Daniel Pavel a1ecebf5bf documentation and logging for 2013-06-07 14:24:05 +02:00
Daniel Pavel e09ad373b3 version 0.8.9.2 2013-06-06 12:19:44 +02:00
Daniel Pavel 39a75a6792 AppIndicator: scrolling on the icon cycles through all devices 2013-06-06 10:25:35 +02:00
Daniel Pavel 8900ac9a1f tweak main window geometry 2013-06-05 13:21:22 +02:00
Peter Wu 59459ebbd6 Fix crash in Python3 due to excess space
The error message was:

    TabError: inconsistent use of tabs and spaces in indentation
2013-06-05 12:39:00 +02:00
Daniel Pavel c52f2fc069 fix descriptor for K700 keyboard 2013-06-05 01:24:19 +02:00
Daniel Pavel eb3e2566e9 comment-out unnecessary logs 2013-06-05 00:32:01 +02:00
Daniel Pavel c186573775 fix register blacklisting 2013-06-05 00:31:40 +02:00
Daniel Pavel 1ed82fc7d5 version 0.8.9.1 2013-06-03 22:02:00 +02:00
Daniel Pavel 162228aff3 started configuration persistence implementation 2013-06-03 22:01:16 +02:00
Daniel Pavel cbdc0bd99b very low battery level should trigger an attention event 2013-06-03 21:40:15 +02:00
Daniel Pavel b4fc36701a added attention() to tray icon 2013-06-03 21:39:29 +02:00
Daniel Pavel c706fbc6e7 update icon theme paths directly, don't mess with XDG_DATA_DIRS 2013-06-03 11:17:19 +02:00
Daniel Pavel 88fb8458c1 logging tweaks 2013-06-02 16:16:58 +02:00
Daniel Pavel b18aee9dba maintain proper devices order in tray menu 2013-06-02 11:19:49 +02:00
Daniel Pavel bfe7bcf1b4 avoid possible race condition on device initialization 2013-06-02 11:19:30 +02:00
Daniel Pavel 465fea8a16 dropped solaar-mask unused icon 2013-06-02 01:11:32 +02:00
Daniel Pavel 149758ccab fixed battery icons in systray menu items 2013-06-02 01:11:04 +02:00
Daniel Pavel 37265f25d8 support custom icons in notification messages 2013-06-01 22:32:57 +02:00
Daniel Pavel c61eb3f039 show charging status in device icon 2013-06-01 22:08:14 +02:00
Daniel Pavel 39862034e1 use just the battery icon in systray 2013-06-01 21:09:41 +02:00
Daniel Pavel f938b29040 doc: icon names for various icon themes 2013-06-01 18:53:49 +02:00
Daniel Pavel 82c4b0007c updated solaar version to 0.8.9 2013-06-01 18:19:47 +02:00
Daniel Pavel 088493dc4f guess battery icon set from the current theme 2013-06-01 17:34:54 +02:00
Daniel Pavel 7317fad754 some debugging when setting icon theme paths 2013-06-01 15:08:23 +02:00
Daniel Pavel 83a29328c7 don't use notification flags with HID++ 2.0 devices 2013-06-01 15:07:39 +02:00
Daniel Pavel 788fb145af use an AppIndicator if available, instead of the status icon 2013-06-01 15:06:43 +02:00
Daniel Pavel b1b1a9b5de Merge remote-tracking branch 'origin/master' 2013-05-27 16:24:34 +03:00
Peter Wu 39e630cece cli: improve alignment for special keys
The following lines have an insane length and are therefore not included in the
longest line:

    WIN7_MONITOR_SWITCH_AS_WIN_SHIFT_LEFTARROW=0x0093,
    WIN7_MONITOR_SWITCH_AS_WIN_SHIFT_RIGHTARROW=0x0094,

While doing this, also fix an obvious typo in the "Lock PC" control.
2013-05-27 14:07:38 +02:00
Peter Wu b2a62c2dd7 special_keys: update controls list
My previous observation was right, controls and tasks are really different
entities. The following "controls" appears to be invalid and have been removed:

    Home=0x001A,
    Music=0x001D,
    Search=0x0029,
    Sleep=0x002F,
2013-05-27 11:44:20 +02:00
Daniel Pavel 26dd3a2ca8 only need to set the default window icon once 2013-05-27 12:36:39 +03:00
Daniel Pavel c328d6f6c6 fixed pairing in solaar-cli 2013-05-27 09:08:23 +03:00
Daniel Pavel 44c79d71d7 use new get_notifications_flags api in solaar-cli 2013-05-27 08:04:49 +03:00
Peter Wu b6bd4b9da0 cli: fix alignment with new feature names 2013-05-26 23:51:46 +02:00
Peter Wu 6ae11f862c Add more feature names, rename existing ones
Extracted from SetPoint 6.52.74 software using:

    <FeaturesSupported.xml awk -F\" '/<Feature /{sub(/^LD_FID_/, "", $2); printf("\t%s=%s,\n", $2, $4)}' | sort -t= -k2

Existing names are renamed to the newer, verbose names.
2013-05-26 23:47:40 +02:00
Peter Wu 28c35633d3 Add more tasks for special keys
Based on tasks.xml from `%ProgramFiles%\\SetPointP\\tasks.xml`.
2013-05-26 22:47:03 +02:00
Peter Wu 6e36e33b22 Decouple controls from tasks (programmable keys)
They are treated differently in the HID++ 2.0 specification. Observations seem
to confirm this difference. For instance, a part of solaar-cli's output:

	0: unknown:0022         => Home                   FN sensitive, is FN, reprogrammable
	1: Mail                 => Mail                   FN sensitive, is FN, reprogrammable
	2: unknown:003E         => Search                 FN sensitive, is FN, reprogrammable
2013-05-26 22:47:03 +02:00
Peter Wu 51305e0a21 solaar-cli: fix regression in argument parsing
When no hidraw device is given, `solaar-cli` crashes because `None` is being
indirected. Use the correct action (`store`) to avoid indirecting a list.
2013-05-26 20:51:58 +02:00
Daniel Pavel fda3398440 commented-out stray print 2013-05-26 19:02:17 +03:00
Daniel Pavel 340ff0107c version 0.8.8.2 2013-05-26 18:43:23 +03:00
Daniel Pavel 8374a58dc1 fixed items in the systray menu 2013-05-26 18:40:53 +03:00
Daniel Pavel 3690863a27 fixed receiver icon in systray menu 2013-05-26 02:56:43 +03:00
Daniel Pavel 078d003cfe about window icon was not displayed 2013-05-26 02:56:25 +03:00
Daniel Pavel b6ab795878 don't add receivers to the status icon tooltip 2013-05-26 02:03:58 +03:00
Daniel Pavel 7e81dede2f non-modal about dialog; fixes #46 2013-05-26 02:01:59 +03:00
Daniel Pavel 3482257b15 fix solaar-cli when no hidraw path given 2013-05-26 01:40:10 +03:00
Daniel Pavel 9f3ab8d3dd Merge remote-tracking branch 'origin/master' 2013-05-26 01:33:13 +03:00
Daniel Pavel db53de2233 updated status_icon to support future appindicator implementation 2013-05-26 01:24:49 +03:00
Peter Wu 7f229005a6 solaar-cli: support specifying different receiver 2013-05-25 15:46:13 +02:00
Peter Wu e3a887f36c solaar-cli: fix argument parsing in Python 3 2013-05-25 15:17:43 +02:00
Daniel Pavel 3873d7099c slightly reduce sleep timings when waiting for reply 2013-05-23 04:59:16 +03:00
Daniel Pavel 8b8b387f2a minor tweak to guessing device icon 2013-05-22 20:50:49 +03:00
Daniel Pavel e73f076324 don't support the VX Nano right now 2013-05-22 20:43:29 +03:00
Daniel Pavel 131f8f7f45 disable status polling on devices
the regular flow should be reading the battery on all devices now
2013-05-22 20:42:26 +03:00
Daniel Pavel c3b73964d5 improved support for some Nano receivers 2013-05-22 20:41:11 +03:00
Daniel Pavel 790fc7c04b improved support for the Nano receiver 2013-05-22 07:31:16 +03:00
Peter Wu 9c0dac044c hid10: update 07 battery parsing based on spec
This fixes pwr/Solaar#49 partially, at least the charging state will be reported
correctly hereafter. The charge level may still be incorrect though.
2013-05-22 00:10:17 +02:00
Daniel Pavel da6711c93c the 'Solar key' on K750 is named 'Light Check button' 2013-05-21 00:48:21 +03:00
Daniel Pavel e868cf6270 use a separate icon for the about logo 2013-05-20 16:32:26 +03:00
Daniel Pavel d3dcdcb92e Merge remote-tracking branch 'origin/master' 2013-05-19 11:54:38 +03:00
Peter Wu f0542923d7 hid10: update flags description for notifications
The Logitech HID++ 1.0 documentation actually names the fields for devices and
receiver. Clarify that and explain why enabling all of the bits is a bad idea.
2013-05-19 10:30:41 +02:00
Peter Wu 29d0c07164 hid10: Formatting and re-order NOTIFICATION_FLAGs
Align values for easier reading the numeric values of NOTIFICATION_FLAGs.  To
maintain consistency in the ordering of the values, swap keyboard_backlight with
keyboard_present.
2013-05-19 10:20:21 +02:00
Peter Wu 152abb086a hid10: document notifications better
See [registers.txt][1] for 'keyboard_backlight'. The behavior of
keyboard_sleep_raw and keyboard_multimedia_raw is described at
[keyboard.txt][2].

 [1]: https://git.lekensteyn.nl/ltunify/tree/registers.txt
 [2]: https://git.lekensteyn.nl/ltunify/tree/keyboard.txt
2013-05-19 10:14:31 +02:00
Daniel Pavel d5c36ddc89 about window tweak 2013-05-19 03:54:30 +03:00
Daniel Pavel 226a4ea2f3 version 0.8.8.1 2013-05-19 03:53:49 +03:00
Daniel Pavel ac0eafe6ab don't crash when failing to load the icon mask 2013-05-19 03:52:01 +03:00
Daniel Pavel ef62892f60 pop up a desktop notification if the battery is below 5% 2013-05-18 14:35:33 +03:00
Daniel Pavel 7ae24488d9 only notify on connected devices at start-up 2013-05-18 02:20:22 +03:00
Daniel Pavel 317cf6d00f only enable certain notification flags on devices
Also added some documentation to the notification flags, where possible.
2013-05-18 00:15:42 +03:00
Daniel Pavel a5eeac6e5a enable notifications for peripherals; fixes #27 2013-05-17 23:06:24 +03:00
Daniel Pavel 1764633bc5 status icon menu items open the right device window 2013-05-17 19:55:07 +03:00
Daniel Pavel 5f46c820e6 re-work the status icon updating 2013-05-17 16:03:37 +03:00
Daniel Pavel c20b279362 minor tweaks 2013-05-08 12:06:01 +03:00
Daniel Pavel 24ceb8801e window popup fix for kwin
also, only try to position the window next to the status icon if it has never
been shown before
2013-05-07 05:59:29 +02:00
Daniel Pavel 8d5ca66db7 get rid of bad map() calls 2013-05-06 17:51:03 +02:00
Daniel Pavel 074cafbab1 simpler (and dumber) way to position receiver windows initially 2013-05-06 17:39:27 +02:00
Daniel Pavel 79cd52833c fix hidconsole for python 2/3 2013-05-06 17:38:09 +02:00
Daniel Pavel 6b75286885 Merge remote-tracking branch 'origin/master' 2013-05-06 17:23:38 +02:00
Daniel Pavel b884ae039c Merge pull request #40 from Lekensteyn/fixes
Fix window close, fix positioning of new windows
2013-05-06 08:19:27 -07:00
Daniel Pavel 3ecfdd027e handle all 07/0D register notifications 2013-05-06 17:08:58 +02:00
Daniel Pavel 55ca9927b0 python 2/3: fix handling of first argument (unicode) of pack/unpack 2013-05-06 16:50:17 +02:00
Daniel Pavel 15f24eb26b use 'with' lock syntax instead of acquire/release 2013-05-06 15:35:20 +02:00
Daniel Pavel 0283bb0e91 fix str/unicode detection in Python 3.2 2013-05-06 15:33:42 +02:00
Daniel Pavel d39c0995b6 Merge remote-tracking branch 'origin/master' 2013-05-06 14:55:21 +02:00
Daniel Pavel db4c088ce9 Merge pull request #37 from Lekensteyn/py3-compat
Py3 compat: replace use of "unicode" (pwr/Solaar#32)

The `u''` syntax fails in Python 3.2; will fix is_string after the merge.
2013-05-06 05:54:53 -07:00
Daniel Pavel a4898e24b7 extended documentation of descriptors and registers 2013-05-06 14:51:57 +02:00
Daniel Pavel 74ca91d611 next version will be 0.8.8 2013-05-06 14:33:06 +02:00
Daniel Pavel e94d4b28b0 build a proper ghost device when unpairing; fixes #36 2013-05-06 12:06:28 +02:00
Peter Wu dded8504e6 Fix window positioning of main windows
Previously, the intent was likely to position the receiver window near the
status icon. It did so by calling move followed by present. According to the
Gtk documentation, move() may fail if the window is hidden before.

Therefore present the window *after* determining the position, but *before*
moving it. (presenting the window before getting the position gives a Gtk
warning and has unpredictable behavior wrt. the window position).

As window positioning is now enabled, add additional logic to prevent overlap
of windows: position the first window near the status icon and others on the
left. This is not idea, e.g. when the status icon is on the left side of the
screen, but the idea of positioning windows near to each other is broken anyway.
2013-05-05 11:18:29 +02:00
Peter Wu a2bad425f6 Fix window close, icon toggle logic
"Toggle" should mean "show or hide all windows", not "flip the visibility state
of windows". Case: one receiver window is open. When a new receiver is
connected, I also expect it to be open. Instead it is hidden, so I click the
icon. Now the new receiver window is shown, but the previous one is hidden.
Huh?! Indeed, let's fix that.
2013-05-05 11:18:29 +02:00
Daniel Pavel a4ec8ec05d better error dialog on receiver permission error; fixes #17
The problem is caused by starting Solaar right after installing it; while udev
does have the new rule loaded, the /dev/hidraw* device nodes already exist
with the old permissions.

Rather than doing a "udevadm --reload-rules" (which could have unknown side-
effects on other devices), instruct the user to remove and re-insert the usb
receiver. The new /dev/hidraw* device nods will be created with the right
permissions.
2013-05-05 10:35:03 +02:00
Daniel Pavel 1f48e44cc6 Merge remote-tracking branch 'origin/master' 2013-05-04 20:20:43 +02:00
Daniel Pavel 83613f02a0 disable info label while we're still reading the info from the device 2013-05-04 20:19:33 +02:00
Daniel Pavel 9d8743e765 comment-out descriptor settings for Anywhere MX, not actually tested 2013-05-04 20:18:10 +02:00
Peter Wu 2327a0012e descriptors.py: Clarify use of negative values
The negative behavior is not obvious, document it in the descriptors.py file
such that people who edit it to add new devices know how it works.
2013-05-04 20:02:37 +02:00
Daniel Pavel 4cdd796a3d comment-out some debugging prints 2013-05-04 19:50:50 +02:00
Daniel Pavel e819265e7e fix automatic register blacklisting 2013-05-04 19:50:08 +02:00
Daniel Pavel d7dd9393ff minor clean-ups 2013-05-04 17:19:48 +02:00
Daniel Pavel 64c36a1562 updated descriptors table and the devices doc 2013-05-04 17:18:39 +02:00
Daniel Pavel 13a54565ba cleaned-up the descriptors table 2013-05-04 15:09:50 +02:00
Daniel Pavel 4eeca12d6a create and destroy windows on demand
based on receiver added/removed events generated by udev
2013-05-04 12:20:51 +02:00
Daniel Pavel ad577d22d0 handle sleep in udev monitoring, fixes #35 2013-05-04 12:19:29 +02:00
Daniel Pavel 5e68094e87 split the about window into its own module 2013-05-04 12:01:28 +02:00
Peter Wu 10c26fe642 Py3 compat: replace use of "unicode" (pwr/Solaar#32)
Generating "an unknown notification" type bailed out because of an unknown
feature type None. Since `isinstance(other, str)` is False for None, the script
will raise an exception on `isinstance(other, unicode)`.

There is no differentiation between `str` and `bytes` in Python 2, therefore
add another condition to `NamedInt.__eq__` to catch unknown types (like
`bytes`).
2013-05-03 23:46:46 +02:00
Daniel Pavel 49ecd252ed always log exceptions, even without -v 2013-05-03 18:42:45 +02:00
Daniel Pavel 2ee2a5dc46 Merge remote-tracking branch 'origin/master' 2013-05-03 17:08:32 +02:00
Daniel Pavel 430fdf4fcf initial support for the MOUSE_POINTER hid++2.0 feature 2013-05-03 17:08:26 +02:00
Daniel Pavel abca81ea38 fix device _match-ing in enumerate() 2013-05-03 16:35:54 +02:00
Daniel Pavel a0a76f738b assert that data read/written on the receiver handle is of type bytes 2013-05-03 16:35:28 +02:00
Daniel Pavel 7d440c2430 replace thrown OSError with IOError 2013-05-03 16:25:32 +02:00
Daniel Pavel 94274fd092 Merge pull request #34 from Lekensteyn/battery-notif
Refactor battery setter, register 07 processing
2013-05-02 20:40:20 -07:00
Peter Wu 266edd80f3 Process reg07 battery notification 2013-05-03 00:10:58 +02:00
Peter Wu d1b1be32ca Make read_battery use set_battery_info
This allows battery readouts to generate warnings and debug logs for a given
status and level.
2013-05-02 23:56:08 +02:00
Peter Wu fbdd923d43 Refactor battery info update
- `self[BATTERY_STATUS] = BATTERY_STATUS[battery_status]` should be:
  `self[BATTERY_STATUS] = _hidpp20.BATTERY_STATUS[battery_status]`, otherwise
  the battery status would be a single char from the string `battery-status`.
- Make `_hidpp20.BATTERY_OK` check against strings instead of a number.
- Move setting battery information to a separate function, `set_battery_info`.
  This prepares for notifications when a battery error/warning occurs.
2013-05-02 23:51:40 +02:00
Peter Wu d8e469a33a hidpp10: split reg07 (battery) parsing so it can be reused 2013-05-02 23:06:45 +02:00
Peter Wu a6b89b3ea3 Python3 compatibility for hidconsole
`type(u'')` is 'str' in Python 3, it was `unicode` on Python 2 (with
`unicode_literals` from `__future__`).
2013-05-02 22:58:35 +02:00
Daniel Pavel 0f80901bce quicker detection of matching receivers in udev 2013-05-02 11:11:53 +02:00
Daniel Pavel 8fc45e5590 fix solaar-cli to handle the new Receiver.open() api 2013-05-01 15:51:12 +02:00
Daniel Pavel c829304e31 use only udev events to detect receiver devices 2013-05-01 15:47:23 +02:00
Daniel Pavel d3f94ff2fb detect some HID++1.0 custom battery notifications
they're not handled yet
2013-05-01 11:36:15 +02:00
Daniel Pavel 04db6d3838 python 3 fixes for #29 2013-04-30 22:31:06 +02:00
Daniel Pavel e5a28ac64e simplified window/icon code, reworked how device updates are signalled 2013-04-30 19:44:03 +02:00
Daniel Pavel 2397c6c0ea about dialog updated 2013-04-30 17:25:09 +02:00
Daniel Pavel c3e6c3d1da more flexible icon loading 2013-04-30 15:45:35 +02:00
Daniel Pavel 22da75cb72 replaced some deprecated GObject calls with GLib 2013-04-30 11:47:30 +02:00
Daniel Pavel 9c621d5816 always try to initialize systray icon and notifications 2013-04-28 15:44:20 +02:00
Daniel Pavel feedbcf581 some code clean-ups 2013-04-28 15:16:45 +02:00
Daniel Pavel a57f3be58d renamed event alert levels to be more clear 2013-04-28 15:12:20 +02:00
Daniel Pavel 897dffc426 only dispatch notification events from the specialized listener thread 2013-04-28 15:09:09 +02:00
Daniel Pavel 6f0b61e6d8 better handling of eq/ne/hash in receiver and device objects 2013-04-28 15:02:17 +02:00
Daniel Pavel 674ee9ac9e split read_battery in status into its own function 2013-04-28 15:01:27 +02:00
Daniel Pavel 5eab013cf6 more explicit logging 2013-04-28 14:58:40 +02:00
Daniel Pavel 079ef8d800 incipient support for the Nano receiver 2013-04-28 14:27:16 +02:00
Daniel Pavel 1a9be279c6 move the code for single-instance check into its own file 2013-04-28 14:06:41 +02:00
Daniel Pavel f5d2eba0c4 hidapi: dropped native, slight update to the python implementation
added an optional filter for driver name when enumerating devices
2013-04-28 14:05:33 +02:00
Daniel Pavel e7d19c9084 small fixes to hidconsole 2013-04-28 14:00:46 +02:00
Daniel Pavel 638bf38b25 version increased to 0.8.7.1 2013-04-28 13:59:07 +02:00
Daniel Pavel c4dc49ac5e Merge pull request #24 from Lekensteyn/hid10-fnkey
Add FN key swap support for K800 (and presumably K710)
2013-04-28 02:03:33 -07:00
Peter Wu 5e58f1e273 Fix battery status reading, add "fully charged"
Commit 438c501fae introduced support for HID++ 1.0
battery information. That accidentally selected the third parameter instead of
the second one. This commit fixes that and additionally adds a "fully charged"
status too that was found on the K800.
2013-04-27 17:07:55 +02:00
Peter Wu c79ad65d37 Add K710 with FN key swap support (pwr/Solaar#18)
The K710 keyboard is (according to the issue reporter) part of a MK710 combo
(which also contains a M705 mouse). Observing a succesful 07 register read,
I think that it is a HID++ 1.0 device too that uses the same register for FN
key swapping as K800.
2013-04-27 15:17:05 +02:00
Peter Wu 95a97ad776 Support FN keys swap for K800 2013-04-27 15:13:42 +02:00
Peter Wu 6c28cedf23 Make BooleanValidator accept bytes too besides int
Previously, only the first parameter byte can be read or written. After this
patch, it is possible to select/write more bytes by specifying a mask of type
bytes with the appropriate length.
2013-04-27 15:12:55 +02:00
Peter Wu 438c501fae Parse battery status of HID++ 1.0 devices
This applies to K800 but it seems also to apply to M510. The numbers are based
on the HID++ 2.0 spec that state the following for GetBatteryCapability:

    If number of levels < 10 or if mileage is disabled then report are
    mapped to 4 levels this way.

    0%->10%     critical
    11%->30%    low
    31%->80%    good
    81%->100%   full

    i.e. to report battery low, FW send 25%, to report battery good, FW send 50%.
2013-04-27 11:58:09 +02:00
Daniel Pavel 6ff30f2a0e release 0.8.7 2013-01-18 18:37:06 +02:00
Daniel Pavel 7707c5e558 don't notify on device disconnection 2013-01-18 17:41:45 +02:00
Daniel Pavel 9b7a920e0d fix for systray visibility (gihub #14) 2013-01-18 17:18:35 +02:00
Daniel Pavel 2e51380be5 log value of register 0x07 when register 0x0D not available 2013-01-18 12:41:01 +02:00
Daniel Pavel b82c89c582 release 0.8.6.2 2013-01-09 21:47:59 +02:00
Daniel Pavel 581d6747ad Merge branch 'nano' into 0.9
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2013-01-09 21:10:39 +02:00
Daniel Pavel 00a1aa7628 release 0.8.6.1 2013-01-09 15:36:15 +02:00
Daniel Pavel 79a9048db5 fixed names for NamedInts numerical values 2013-01-09 15:31:19 +02:00
Daniel Pavel 2bfba2e399 fixed application quit icon 2013-01-09 13:47:30 +02:00
Daniel Pavel 484419e526 release 0.8.6 2013-01-08 00:59:30 +02:00
Daniel Pavel 653d370a85 fixed locating application icons when running in a custom prefix 2013-01-08 00:40:54 +02:00
Daniel Pavel 316e91cfcf fixed some icon names 2013-01-08 00:39:13 +02:00