Commit graph

443 commits

Author SHA1 Message Date
Christoffer Sandberg
15cb908351
tuxedo_io: Fix build, remove leftover dummy variable 2020-12-08 09:30:27 +01:00
Christoffer Sandberg
596212e17a
tuxedo_io: include tuxedo_cc_wmi as tuxedo_io
- Clevo part now using exported interface from clevo_interfaces
- Uniwill part still works as previously
- Additional module alias for ACPI interface needed and added
2020-12-07 16:57:32 +01:00
Christoffer Sandberg
597902a808
clevo_interfaces: Move module alias defines 2020-12-07 16:39:01 +01:00
Christoffer Sandberg
bea8621bdb
clevo_interfaces: Export method and ID interface 2020-12-07 12:19:36 +01:00
Christoffer Sandberg
1f8b5a66b3
clevo_interfaces: Move resource ID defs 2020-12-07 11:00:24 +01:00
Christoffer Sandberg
8667006c4a
clevo_interfaces: Add clevo cmd defines
- Fix incl. guard "typo"
2020-12-07 10:01:18 +01:00
Christoffer Sandberg
b484e47de0
clevo_wmi: Add explicit module alias "for older kernels" 2020-12-04 16:11:47 +01:00
Christoffer Sandberg
21c65b40b0
clevo_wmi: Fix device list end 2020-12-04 15:50:48 +01:00
Christoffer Sandberg
6e3ce9ca6a
clevo_keyboard: Remove/refactor leftover wmi references 2020-12-04 15:20:55 +01:00
Christoffer Sandberg
14c37444e6
clevo_interfaces: Change event handling & use separate wmi module 2020-12-04 13:16:49 +01:00
Christoffer Sandberg
bbc29f39fc
clevo_interfaces: Add decoupled clevo_wmi interface 2020-12-04 12:23:39 +01:00
Christoffer Sandberg
b581e45ee0
clevo_interfaces: add missing licensing headers 2020-12-03 13:34:33 +01:00
Christoffer Sandberg
2c7eb248b1
clevo_interfaces: debug modifications & clarifications 2020-12-03 12:10:07 +01:00
Christoffer Sandberg
459a16de00
clevo_interfaces: remove/clean up headers 2020-12-03 10:15:38 +01:00
Christoffer Sandberg
6f14b22b33
clevo_keyboard: Basic modularization to allow for multiple interfaces
Basic working implementation, WIP

- Modularize clevo_keyboard, allowing interfaces to "register" themselves
- Add clevo_acpi interface to clevo_keyboard
- Prefer acpi interface
- Fixed some previously still coupled features on uniwill_keyboard side
to allow for the structure change
2020-12-02 17:32:09 +01:00
Christoffer Sandberg
6d76c68eb4 clevo_acpi: Add acpi evaluate and event enable functionality 2020-11-17 17:30:03 +01:00
Christoffer Sandberg
fe41e0d039
Add basic driver structure for "new" clevo interface 2020-11-16 16:27:34 +01:00
Christoffer Sandberg
878a528223
Update version to 2.1.0 + changelog 2020-11-13 12:47:04 +01:00
Christoffer Sandberg
a95d0ecdd5
uw: Add keyboard brightness up/down mapping 2020-11-12 10:57:45 +01:00
Christoffer Sandberg
eea83c3a37
uw: Fix touchpad toggle
Actually only returning notify stop on last key
messes up some platforms leading to that next toggle
does not register.

Should either stop all or none. From now stopping none.
2020-11-12 10:36:19 +01:00
Christoffer Sandberg
d035d7afb0
uniwill: Refactor and simplify external symbol handling
tuxedo-cc-mwi symbols now used in many places. Until further
aggregation some wrappers are needed for clarity.
2020-10-30 12:17:17 +01:00
Christoffer Sandberg
a28f8858ac uw_lightbar: Add compatible device check 2020-10-29 12:09:48 +01:00
Christoffer Sandberg
0d954602b5 uw_lightbar: Fix init structure 2020-10-28 17:08:32 +01:00
Christoffer Sandberg
50f8afdf75 Add uw lightbar "animation led" 2020-10-27 10:02:23 +01:00
Christoffer Sandberg
a3e69ca8f9 Change uw lightbar led names for possible future compliance 2020-10-27 10:02:23 +01:00
Christoffer Sandberg
8db1b16c79 Fix uw kbd bl rgb sysfs removal 2020-10-27 10:02:23 +01:00
Christoffer Sandberg
839f13b350 Fix uw lightbar color comparison 2020-10-27 09:58:22 +01:00
Christoffer Sandberg
821c502823 Initial classdev lightbar support 2020-10-27 09:58:22 +01:00
Christoffer Sandberg
8c0a618f6b uw: fix module cleanup for non single rgb kbd bl 2020-10-27 09:38:08 +01:00
Christoffer Sandberg
fbd1cd8e8a
Update to version 2.0.6
- Changelogs
- Update with final device names
2020-10-06 15:05:50 +02:00
Christoffer Sandberg
cfac56be26
Add new uw kbd bl IDs 2020-09-18 17:37:02 +02:00
Christoffer Sandberg
9f05c50681
Reset uw kbd bl color on resume 2020-09-08 12:13:23 +02:00
Christoffer Sandberg
56cadb61de
Add uw kbd bl color device 2020-09-08 12:12:35 +02:00
Christoffer Sandberg
ab29e5e392
Tweak reset timout 2020-09-03 10:43:53 +02:00
Christoffer Sandberg
0c2d597c22
Fix reset uw kbd bl on init 2020-09-03 10:27:19 +02:00
Christoffer Sandberg
0e1e4987ff
Add missing event defines 2020-09-01 16:03:59 +02:00
Christoffer Sandberg
2055fa5774
Fix: write uw kbd bl on cable switch 2020-09-01 10:37:11 +02:00
Christoffer Sandberg
8fdd6aea99
Add manual mode rfkill key mapping 2020-08-28 13:09:37 +02:00
Christoffer Sandberg
06ea622d59 Lessen debug out and make sure init timeout is seen in any case 2020-08-26 11:13:02 +02:00
Christoffer Sandberg
038c5d7602 Comment out uw bl read br state 2020-08-26 10:53:32 +02:00
Christoffer Sandberg
a21f854e03 Implement delayed init set after boot animation 2020-08-26 10:44:25 +02:00
Christoffer Sandberg
726af039b9
Rename (new tccwmi interface) and clean up uw kbd references 2020-08-25 12:09:56 +02:00
Christoffer Sandberg
e25b657fa1
Remove remaining unnecessary highreg value for clarity 2020-08-21 09:06:29 +02:00
Christoffer Sandberg
e9e3c8b8e5
Add sysfs interface for uw kbd bl color 2020-08-20 15:51:16 +02:00
Christoffer Sandberg
9fc2f16482
Add device check to uw kbd bl driver 2020-08-19 13:27:06 +02:00
Christoffer Sandberg
d976cddc81
Remove reads used to write previous high bytes 2020-08-17 13:07:55 +02:00
Christoffer Sandberg
edb5c08ad3
Extend uw event catching (debug) 2020-08-17 13:02:44 +02:00
Christoffer Sandberg
4a272bb715 Add soft dependency on tuxedo-cc-wmi 2020-08-12 10:41:58 +02:00
Christoffer Sandberg
857d5f6bea Fix uw kbd bl default values and keep disabled during init 2020-08-05 17:00:08 +02:00
Christoffer Sandberg
f98573aa21 Fix uw kbd bl enable and set/restore enabled state 2020-08-05 14:55:49 +02:00
Christoffer Sandberg
97c6da3e5b
Add uw kbd bl enable set/get methods 2020-08-05 12:32:10 +02:00
Christoffer Sandberg
f666df4569 Write uw kbd bl state on resume 2020-08-04 11:52:08 +02:00
Christoffer Sandberg
d29b1352c7 Fix typo, rename uw kbd methods 2020-08-04 11:52:08 +02:00
Christoffer Sandberg
afbe4cde64 Change color lookup return value 2020-08-04 11:52:08 +02:00
Christoffer Sandberg
17595676b5 Change order of reads and writes for uw keyb backlight 2020-07-30 10:20:56 +02:00
Christoffer Sandberg
f1ffca50c4 Logical fixes + color scaling fix + brightness level tweaks 2020-07-28 14:30:08 +02:00
Christoffer Sandberg
06492b22ef
Color and brightness param + scaling of current set color 2020-07-28 13:25:08 +02:00
Christoffer Sandberg
f90c513aad
Move brightness parameter in preparation for common use 2020-07-28 11:32:43 +02:00
Christoffer Sandberg
a85ccf9a4e
Prepare uw state data structure and lookup for color strings 2020-07-27 16:31:38 +02:00
Christoffer Sandberg
5f2db68a9b
Move static color definitions for use by multiple drivers 2020-07-27 11:36:49 +02:00
Christoffer Sandberg
af54fb8d9b Basic uniwill rgb keyboard backlight control through tuxedo-cc-wmi 2020-07-24 12:09:28 +02:00
Christoffer Sandberg
84442d0b2f
Update version to 2.0.5 2020-06-22 16:42:51 +02:00
Christoffer Sandberg
1464197ef7
Add new WMI module aliases 2020-06-22 13:33:41 +02:00
Christoffer Sandberg
2d3f22a579
Move special code handling to where it is actually defined 2020-06-18 10:42:10 +02:00
Christoffer Sandberg
13d9b8bbf8 Add special key-combo when gauge key is pressed 2020-06-16 14:42:52 +02:00
Christoffer Sandberg
8a7052dbda
Add event sending structure for touchpad toggle workaround 2020-06-02 10:34:46 +02:00
Christoffer Sandberg
f7d79e6bbc
Add basic probe and wmi notifiers 2020-05-29 17:51:09 +02:00
Christoffer Sandberg
3bb71064ae
Add empty new driver 2020-05-29 16:20:02 +02:00
Christoffer Sandberg
e74a3404a7
Add additional id check to existing driver 2020-05-29 13:19:28 +02:00
Christoffer Sandberg
da7534772a
Additional decoupling 2020-05-29 11:41:05 +02:00
Christoffer Sandberg
955c683971
Further modularize drivers incl. probe/remove 2020-05-28 18:40:20 +02:00
Christoffer Sandberg
bc9a14328c Parameterize keymap 2020-05-27 18:04:50 +02:00
Christoffer Sandberg
27841a685d
Split code for modularizing 2020-05-27 17:08:40 +02:00
Christoffer Sandberg
609c5f19db
Update version to 2.0.4 2020-05-26 14:12:47 +02:00
Christoffer Sandberg
acc156357f
More event modifications
- Add rfkill event
- Make sure the events thrown on volume keys do
  not interfere with built-in volume key functionality
- Do not throw unknown key events

Resolves #24 #25
2020-05-26 14:11:08 +02:00
Christoffer Sandberg
6d666d9d25
Text tweaks 2020-05-20 13:36:07 +02:00
Christoffer Sandberg
b8a4dc18e3
Update version & changelog
Plus.. suppress output from sed when building. Note, sed is only
used for packaging and otherwise irrelevant. However, it should not
look like an error.
2020-05-19 16:11:10 +02:00
Christoffer Sandberg
40d964fa1c
Text and description updates 2020-05-19 15:42:50 +02:00
Christoffer Sandberg
60cb7e91ae
Add touchpad toggle events for new and old devices
Resolves #22
2020-05-19 14:39:22 +02:00
Christoffer Sandberg
aa1d22124e
Add keyboard events
Configures tuxedo-keyboard to send key events

  KEY_KBDILLUMUP
  KEY_KBDILLUMDOWN
  KEY_LIGHTS_TOGGLE
  KEY_KBDILLUMTOGGLE

on the received WMI events

Needed by other keyboard backlight drivers (see #21).
2020-04-23 13:14:50 +02:00
Christoffer Sandberg
c3d1773264
Update version to 2.0.2
Add tuxedo_keyboard.conf to packaging. Installs into
  /etc/modprobe.d/tuxedo_keyboard.conf

Add transitional package from tuxedo-keyboard-dkms to just
tuxedo-keyboard.
2020-04-15 17:52:40 +02:00
Christoffer Sandberg
060297acee Add module alias for the used WMI GUIDs
Should solve automatic loading issues without using the systemd
solutions.

Fixes #18
2020-04-14 13:02:52 +02:00
Christoffer Sandberg
d73bb97038 Merge branch 'packaging' 2020-04-14 12:43:57 +02:00
tuxedoxt
4e0c7aa170
Merge (github) pull request #42 from ashh87/master
Restore state on resume.
2020-04-14 12:31:01 +02:00
Christoffer Sandberg
549e2803e7 Add new packaging base
- Increase version to 2.0.1
2020-03-17 17:00:31 +01:00
Steven Seifried
26a3d2ef83
Add missing character in src/tuxedo_keyboard.c 2020-03-12 22:36:01 +01:00
Ash Hughes
25181b40d2 Turn keyboard off on suspend to prevent default colours showing on resume before driver has control again. 2020-02-14 23:12:15 +00:00
Ash Hughes
3af08adf79 Restore state on resume. 2020-02-14 19:01:24 +00:00
Richard Sailer
b2575e6d7a Doc: descriptive macro and var names 2019-11-24 13:14:39 +01:00
Richard Sailer
18961a0551 Move all Symbolic macros together 2019-11-24 12:35:08 +01:00
Richard Sailer
059a598f26 evaluate_wmi_method: proper var names and error messages 2019-11-24 13:13:14 +01:00
Richard Sailer
6314e4704f Control flow cleanup: avoid goto + better error messages 2019-11-24 12:22:20 +01:00
Richard Sailer
bdab3dc13e refactor: set_state() --> set_enabled() 2019-11-24 12:02:05 +01:00
Richard Sailer
e415bbdbcb Bump version to 2.0.0 due to major rewrites, refactoring and new feature 2019-08-22 04:18:41 +02:00
Richard Sailer
0611e54ec6 Fix: actually change colors with key, not just stay at the same 2019-08-22 04:10:05 +02:00
Richard Sailer
0d915b833b next_color(): Add usefull debug output 2019-08-22 04:08:43 +02:00
Richard Sailer
bf601f1eba finally rewire: set next blinking pattern key to set_next_color_whole_kb() 2019-08-19 06:20:06 +02:00
Richard Sailer
e5d1aa8110 Add set_next_color_whole_kb() 2019-08-19 06:17:55 +02:00
Richard Sailer
338023dc98 fix kbd_led_state initialization 2019-08-19 05:55:41 +02:00
Richard Sailer
42e5c40f93 introduce set_color_code_region() with sane error checking 2019-08-19 05:55:11 +02:00
Richard Sailer
27aafcf1fd refactor: set_color_region() -> set_color_string_region() 2019-08-19 05:29:54 +02:00
Richard Sailer
06bb6801df kbd_led_state_t: add whole_kbd_color member 2019-08-19 05:28:46 +02:00
Richard Sailer
68eb899f71 Move color list to other global vars + make it static + add comments 2019-08-18 06:28:06 +02:00
Richard Sailer
690b43987a blinking_pattern --> blinking_pattern_t 2019-08-18 06:12:11 +02:00
Richard Sailer
f6c08bf036 doc: meaningfull var names: state --> enabled 2019-08-18 06:09:03 +02:00
Richard Sailer
6c80892b31 Move all struct type definitions to the top 2019-08-18 06:03:47 +02:00
Richard Sailer
efe641bb42 doc, better names: keyboard --> kbd_led_state 2019-08-18 05:59:24 +02:00
Richard Sailer
6e72e954e5 Add own struct type for kbd_led_state 2019-08-18 05:55:43 +02:00
Richard Sailer
0df6f7362b Add doc: meaningfull variable names 2019-08-18 05:49:12 +02:00
Richard Sailer
5c64a75ec0 Consistent terminology: Section --> Region 2019-08-12 22:26:58 +02:00
Richard Sailer
8ea156a95a Refactor: Buffer --> color_string 2019-08-12 18:34:41 +02:00
Richard Sailer
79eb89923e Declare, define and initialize data structure for avail. kbd colors 2019-08-06 01:53:36 +02:00
Richard Sailer
8385cfa2df More meaningfull var names and some commments for doc purposes 2019-08-04 06:11:06 +02:00
Richard Sailer
bbb1646ff7 Some comments and better formatting 2019-08-04 04:33:28 +02:00
Richard Sailer
0a98818376 set_color_region(): more meaningfull variable names 2019-08-04 04:33:00 +02:00
Richard Sailer
4c8fb9937f Refactoring: more meaningfull local variable names 2019-08-04 04:10:59 +02:00
Richard Sailer
2071710a71 Make central data structure blinking_pattern an own data type 2019-08-04 04:04:24 +02:00
Richard Sailer
4f0cb95266 easier names: sysfs attribute --> sysfs attribute file 2019-08-04 03:30:06 +02:00
Richard Sailer
ff7eacc2ce Minor refactoring and cleanups 2019-08-04 02:58:15 +02:00
Richard Sailer
a493b1d572 Remove unused macro 2019-08-04 02:35:42 +02:00
Richard Sailer
c41f8febc2 Finalize module internal refactoring: mode --> blinking_pattern 2019-08-04 02:33:48 +02:00
Richard Sailer
edd7b4fb24 Move simple macro up to avoid compiler warning 2019-08-04 01:28:08 +02:00
Richard Sailer
1dcb5d2a03 Merge header with module code since it's local and of no use to other modules 2019-08-04 01:15:57 +02:00
Richard Sailer
6b6de61885 New default keyboard color: white 2019-06-06 17:14:30 +02:00
Richard Sailer
218dce4cf9 .h: Minor cleanup 2019-06-06 17:14:30 +02:00
Richard Sailer
a95f9e51e1 Refactor several symbol names: mode --> blinking_pattern to be more descriptive 2019-06-06 17:13:54 +02:00
Richard Sailer
2506b60a3a .c: formatting, readability and some small, isomorph code simplifications 2019-06-04 21:55:56 +02:00
Richard Sailer
eb89278121 [..]keyboard.h: Remove inclusion of list.h
It's nowhere needed in .h or .c, whole module builds fine without it
2019-06-04 20:10:59 +02:00
Richard Sailer
e116096c4e [..]keyboard.h: remove unnecesarry includes
platform_device.h and module.h are both already included by tuxedo_keyboard.c
2019-06-04 20:07:12 +02:00
Richard Sailer
4d5998ea97 Code style, return type on same line, finally use scripts/Lindent 2019-06-04 19:32:30 +02:00
Richard Sailer
d319024029 Refactor: more descriptive names for two functions 2019-06-04 19:18:06 +02:00
Richard Sailer
2d6b5ebaa4 Clean up last unneeded prototypes 2019-05-31 21:55:04 +02:00
Richard Sailer
5bf846229a Clean up a lot of other unnecesarry prototypes 2019-05-31 21:55:04 +02:00
Richard Sailer
41541a3118 Remove now useless init/exit function prototypes 2019-05-31 21:55:04 +02:00
Richard Sailer
1ce4d04425 Move sysfs attribute file managment from .h to .c
It's specific to our compilation unit, nothing to export
2019-05-31 21:53:12 +02:00
Richard Sailer
4d57e59887 Move module parameter handling from .h to .c file
Other compilation units (CUs) including this header file do not need
module parameter handling. It's specific to our CU. Header files are meant to
communicate/interface with outside CUs
2019-05-31 21:50:52 +02:00
Richard Sailer
8f827c8761 Move all static global variables from .h to .c
Static global variables are compilation unit (CU) local. Making them accessible
to each other CU that includes our .h file makes no sense, they are internal
variables of our CU, therefare, move them to our CU file. .h files are for
"interfaces" to other CUs
2019-05-31 21:24:48 +02:00
Richard Sailer
80fd1b3ee3 Move all the static function declarations from .h to .c
Making a function static means "this function is compilation-unit-locale and
cannot be used (linked to) by others".

Putting a function prototype p into a header file h means every other module m
that includes h can call p.

Putting a static function prototype into a header file means "you can call this,
but you can not call this" which makes no sense. All this prototypes all only
needed compilation unit internally (and should only be used so). This commit
moves them where they belong. And subsequent commits will clean them up
because most are not necesarry in the .c file.
2019-05-31 21:16:10 +02:00
Richard Sailer
41623907ad Convert project to Linux Kernel Coding style using GNU indent
indent -kr -i8 -ts8 -sob -l80 -ss -bs -psl tuxedo_keyboard.*
2019-05-31 20:43:13 +02:00
Richard Sailer
b0f76c723f Remove unnecesarry checks/ ternary expressions 2019-05-31 20:43:13 +02:00
Vinothan Shankar
64ca37889f Enable extra region when it exists, instead of when it doesn't 2019-02-02 14:47:52 +00:00
cloritz
be4dcb3eab Add Year in Copyright 2018-06-27 09:13:41 +02:00
Christian Loritz
134c6d9831 Initial commit 2018-06-08 11:56:32 +02:00