Merge pull request #202 from decibyte/master

k830 support + support for NEW FN INVERSION
This commit is contained in:
Peter Wu 2015-03-06 11:45:53 +01:00
commit afd36764c2
4 changed files with 60 additions and 4 deletions

View File

@ -17,10 +17,10 @@ Linux system configuration) are supported:
keyboard, similar to Logitech's *Solar.app* for Windows.
* The state of the `FN` key can be toggled on some keyboards ([K360][K360],
[MK700][K700], [K750][K750] and [K800][K800]). It changes the way the function
keys (`F1`..`F12`) work, i.e. whether holding `FN` while pressing the function
keys will generate the standard `Fx` keycodes or the special function (yellow
icons) keycodes.
[MK700][K700], [K750][K750], [K800][K800] and [K830][K830]). It changes the
way the function keys (`F1`..`F12`) work, i.e. whether holding `FN` while
pressing the function keys will generate the standard `Fx` keycodes or the
special function (yellow icons) keycodes.
* The DPI can be changed on the [Performance MX Mouse][P_MX].
@ -65,6 +65,7 @@ Keyboards (Unifying):
| K400 Touch | 2.0 | yes | |
| K750 Solar | 2.0 | yes | FN swap, Lux reading, light button |
| K800 Illuminated | 1.0 | yes | FN swap, reprog keys |
| K830 Illuminated | 2.0 | yes | FN swap |
| TK820 | 2.0 | yes | FN swap |
| MK700 | 1.0 | yes | FN swap, reprog keys |
@ -151,6 +152,7 @@ Mouse-Keyboard combos:
[K700]: http://logitech.com/product/wireless-desktop-mk710
[K750]: http://logitech.com/product/k750-keyboard
[K800]: http://logitech.com/product/wireless-illuminated-keyboard-k800
[K830]: http://logitech.com/product/living-room-keyboard-k830
[M510]: http://logitech.com/product/wireless-mouse-m510
[M705]: http://logitech.com/product/marathon-mouse-m705
[P_MX]: http://logitech.com/product/performance-mouse-mx

41
docs/devices/k830.txt Normal file
View File

@ -0,0 +1,41 @@
# Provided by Mikkel Munch Mortensen
(solaar)
3: Illuminated Living-Room Keyboard K830
Codename : K830
Kind : keyboard
Wireless PID : 4032
Protocol : HID++ 4.1
Polling rate : 8 ms (125Hz)
Serial number: 9F7C6FD7
Firmware: RQK 56.00.B0020
The power switch is located on the edge of top right corner.
Supports 27 HID++ 2.0 features:
0: ROOT {0000}
1: FEATURE SET {0001}
2: DEVICE FW VERSION {0003}
3: DEVICE NAME {0005}
4: WIRELESS DEVICE STATUS {1D4B}
5: unknown:0020 {0020}
6: BATTERY STATUS {1000}
7: BACKLIGHT {1981}
8: unknown:1B04 {1B04}
9: unknown:2005 {2005}
10: NEW FN INVERSION {40A2}
11: ENCRYPTION {4100}
12: unknown:4521 {4521}
13: TOUCHPAD RAW XY {6100} hidden
14: unknown:6501 {6501}
15: unknown:00C1 {00C1}
16: unknown:1811 {1811} internal, hidden
17: unknown:1830 {1830} internal, hidden
18: unknown:1890 {1890} internal, hidden
19: unknown:18A0 {18A0} internal, hidden
20: unknown:1DF3 {1DF3} internal, hidden
21: unknown:1E00 {1E00} hidden
22: unknown:1EB0 {1EB0} internal, hidden
23: unknown:1861 {1861} internal, hidden
24: unknown:1A20 {1A20} internal, hidden
25: unknown:18B0 {18B0} internal, hidden
26: unknown:1F07 {1F07} internal, hidden
Battery: 50%, discharging.

View File

@ -191,6 +191,11 @@ _D('Wireless Illuminated Keyboard K800', protocol=1.0, wpid='2010',
_RS.hand_detection(),
],
)
_D('Illuminated Living-Room Keyboard K830', protocol=2.0, wpid='4032',
settings=[
_FS.new_fn_swap()
],
)
# Mice

View File

@ -125,6 +125,11 @@ def _feature_fn_swap():
label=_FN_SWAP[1], description=_FN_SWAP[2],
device_kind=_DK.keyboard)
def _feature_new_fn_swap():
return feature_toggle(_FN_SWAP[0], _F.NEW_FN_INVERSION,
label=_FN_SWAP[1], description=_FN_SWAP[2],
device_kind=_DK.keyboard)
#
#
@ -133,6 +138,7 @@ def _feature_fn_swap():
from collections import namedtuple
_SETTINGS_LIST = namedtuple('_SETTINGS_LIST', [
'fn_swap',
'new_fn_swap',
'smooth_scroll',
'side_scroll',
'dpi',
@ -143,6 +149,7 @@ del namedtuple
RegisterSettings = _SETTINGS_LIST(
fn_swap=_register_fn_swap,
new_fn_swap=None,
smooth_scroll=_register_smooth_scroll,
side_scroll=_register_side_scroll,
dpi=_register_dpi,
@ -151,6 +158,7 @@ RegisterSettings = _SETTINGS_LIST(
)
FeatureSettings = _SETTINGS_LIST(
fn_swap=_feature_fn_swap,
new_fn_swap=_feature_new_fn_swap,
smooth_scroll=None,
side_scroll=None,
dpi=None,