Commit graph

440 commits

Author SHA1 Message Date
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