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