Giter VIP home page Giter VIP logo

tuxedocomputers / tuxedo-keyboard Goto Github PK

View Code? Open in Web Editor NEW
302.0 19.0 88.0 651 KB

This repository will no longer get any updates as the code here is now part of tuxedo-drivers https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers.

Home Page: https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers

License: GNU General Public License v3.0

Makefile 2.85% C 89.96% Shell 7.19%

tuxedo-keyboard's Introduction

Table of Content

Description

TUXEDO Computers kernel module drivers for keyboard, keyboard backlight & general hardware I/O using the SysFS interface (since version 3.2.0)

Features

Modules included in this package

  • tuxedo-keyboard
  • tuxedo-io
  • clevo-wmi
  • clevo-acpi
  • uniwill-wmi

Building and Install

Dependencies:

  • make
  • gcc or clang
  • linux-headers
  • dkms (Only when using this module with DKMS functionality)

Warning when installing the module:

Use either method only. Do not combine installation methods, such as starting with the build step below and proceeding to use the same build artifacts with the DKMS module. Otherwise the module built via dkms will fail to load with an exec_format error on newer kernels due to a mismatched version magic.

This is why the DKMS build step begins with a make clean step.

For convenience, on platforms where DKMS is in use, skip to the DKMS section directly.

Clone the Git Repo:

git clone https://github.com/tuxedocomputers/tuxedo-keyboard.git

cd tuxedo-keyboard

git checkout release

Build the Module:

make clean && make

The DKMS route:

Add as DKMS Module:

Install the Module:

make clean

sudo make dkmsinstall

Load the Module with modprobe:

modprobe tuxedo_keyboard

or

sudo modprobe tuxedo_keyboard

You might also want to activate tuxedo_io module the same way if you are using TCC.

Uninstalling the DKMS module:

Remove the DKMS module and source:

sudo make dkmsremove

sudo rm /etc/modprobe.d/tuxedo_keyboard.conf

Using

modprobe

modprobe tuxedo_keyboard

Load the Module on boot:

If a module is relevant it will be loaded automatically on boot. If it is not loaded after a reboot, it most likely means that it is not needed.

Add Module to /etc/modules

sudo su

echo tuxedo_keyboard >> /etc/modules

tuxedo-keyboard's People

Contributors

arlindofneto avatar ashh87 avatar blackikeeagle avatar brainiarc7 avatar buddy-matt avatar emohr-tuxedo avatar gagbo avatar kaligule avatar matombo avatar munix9 avatar pointhi avatar richi235 avatar stevenseifried avatar stodec avatar tuxedo-bot avatar tuxedo-wse avatar tuxedochris avatar tuxedors avatar tuxedoxt avatar vincentdephily avatar vinzv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tuxedo-keyboard's Issues

tuxedo-keyboard : Conflicts: tuxedo-cc-wmi but 0.1.7 is to be installed

When trying to upgrade from tuxedo-keyboard 2.1.0 to >= 3.0.0, the title message appears.

$ dpkg --list | grep tuxedo
ii  tuxedo-cc-wmi                                 0.1.7                                       all          Interface to WMI methods/control on TUXEDO Laptops
ii  tuxedo-control-center                         1.0.7                                       amd64        
ii  tuxedo-keyboard                               2.1.0                                       all          Keyboard driver for TUXEDO notebooks.
$ sudo apt upgrade tuxedo-keyboard
The following packages have unmet dependencies:
 tuxedo-keyboard : Conflicts: tuxedo-cc-wmi but 0.1.7 is to be installed
E: Broken packages

Do I have to provide further information?

Upstreaming

what's the current status of merging this into the linux kernel?

Broken Support for TongFang GMxMPxW

Hello!
I have a TongFang laptop (GM5MP0W), which is experiencing issues with the tuxedo_io module.

With the module loaded, the keyboard's FN combos work with the exception of the backlight. Pressing the keys is recognized by GNOME as the correct combination to increase or decrease brightness as the symbol is displayed on-screen. The keyboard backlight brightness, however, doesn't change. On the journal, I see the following entry coming-up whenever I press the combo:

gsd-power[3073]: gsd_power_backlight_abs_to_percentage: assertion 'max > min' failed

Commenting out the following line in tongfang_wmi.h fixes the issue but I wonder if that is breaking something else because for example, while changing the backlight works, the on-screen symbol doesn't show anymore.

uw_ec_write_addr(0x41, 0x07, 0x01, 0x00, &reg_write_return);

It also made sense to then comment out

uw_ec_write_addr(0x41, 0x07, 0x00, 0x00, &reg_write_return);

Fan control (which seems was the reason behind setting manual mode) is apparently following the profiles. I'm not sure this model requires entering "manual mode" and if it does, then I'd like to try fixing the keyboard backlight issue.

As for the keyboard itself, is an ITE keyboard supporting per-key RGB colors. Here are the details:

lsusb -d 048d:6004 -v

Bus 001 Device 003: ID 048d:6004 Integrated Technology Express, Inc. ITE Device(8291)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x048d Integrated Technology Express, Inc.
  idProduct          0x6004 
  bcdDevice            0.03
  iManufacturer           1 ITE Tech. Inc.
  iProduct                2 ITE Device(8291)
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x003b
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      23
          Report Descriptor: (length is 23)
            Item(Global): Usage Page, data= [ 0x89 0xff ] 65417
                            (null)
            Item(Local ): Usage, data= [ 0x10 ] 16
                            (null)
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Global): Report ID, data= [ 0x5a ] 90
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x10 ] 16
            Item(Main  ): Feature, data= [ 0x00 ] 0
                            Data Array Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      31
          Report Descriptor: (length is 31)
            Item(Global): Usage Page, data= [ 0x03 0xff ] 65283
                            (null)
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x40 ] 64
            Item(Local ): Usage, data= [ 0x20 ] 32
                            (null)
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Local ): Usage, data= [ 0x21 ] 33
                            (null)
            Item(Main  ): Output, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Local ): Usage, data= [ 0x22 ] 34
                            (null)
            Item(Global): Report Count, data= [ 0x08 ] 8
            Item(Main  ): Feature, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered

Anything I should be testing out which might help to figure out the issue?

Thanks!

Missing volume key stroke events

Hi,

I'm using ArchLinux on an InfinityBook Pro 14 v5. I want to customize my window manager (awesomwm) and therefore was looking for the keycodes of the mute and volume buttons. But I can't find any. I already installed the tuxedo-keyboard package that provides the functionalities from this repo.

Recording key strokes with xev gives me the following output for Fn + F3 (mute), Fn + F5 (lower volume) and Fn + F6 (raise volume):

FocusOut event, serial 36, synthetic NO, window 0x1a00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 36, synthetic NO, window 0x1a00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

I was expecting some keycode etc. like XF86AudioMute and so on.

Is there any other way to get the key stroke events or could this be an issue of the keyboard driver?

Won't load on an InfinityBook 14

With this error message:

tuxedo_keyboard: No known WMI event notification GUID found

Which model is this for?
Is there a driver for the InfinityBook14 ?

Also not working

The dmesg, to prove the module is loaded and detecting a proper keyboard. Butโ€ฆ Nothing happens, Iโ€™m still looking at a sea of light while watching a movie.

The keyboard shortcuts work, but thatโ€™s clumsy fn-F4 cycles though intensity 0 to 5. But Iโ€™d like to script it.

The keyboard type is just light, nothing fancy with colours.

[107441.834490] tuxedo_keyboard: Model 'N8xEJEK                         ' found
[107441.840766] input: TUXEDO Keyboard as /devices/platform/tuxedo_keyboard/input/input155
[107441.903415] tuxedo_keyboard: set_mode on CUSTOM
[107441.941351] tuxedo_keyboard: Set brightness on 255
[107441.949039] tuxedo_keyboard: Set keyboard state on: 1
[107537.734397] tuxedo_keyboard: Set brightness on 10
[107541.243560] tuxedo_keyboard: Set brightness on 0
[107553.634510] tuxedo_keyboard: Set brightness on 255
[107576.386897] tuxedo_keyboard: Set keyboard state on: 0
[107582.500536] tuxedo_keyboard: Set keyboard state on: 1
[107679.836240] tuxedo_keyboard: Set brightness on 0
[107687.649874] tuxedo_keyboard: Set brightness on 255
[107710.142650] tuxedo_keyboard: Set keyboard state on: 0
[107720.365442] tuxedo_keyboard: Set keyboard state on: 1
[107807.330202] tuxedo_keyboard: set_mode on CYCLE
[107814.449540] tuxedo_keyboard: set_mode on CUSTOM
[107821.186976] tuxedo_keyboard: set_mode on RANDOM_COLOR

Airplane key is not part of this project

Is there any plan in inluding the functionality of the airplane hotkey in this project? It is implemented in clevo-xsm-wmi and tuxedo-wmi.

I could include it in the next weeks if nobody's already working on this.

Polaris 15 Problems

I meant the Polaris 15. I'm running the pre installed Ubuntu 20.04 and the keyboard lights are always white. I tried different configurations of the tuxedo_keyboard.conf. Also the FN+ + or FN+ - does not change the brightness as mentioned in the manual.
When the Laptop disables the screen for powersaving the lights also stay on.
Am I doing something wrong or is this a bug?

Compatible with N141CU?

I have a new model Clevo ultrabook N141CU and am having issues getting any response with the hotkeys. Theres no real errors in the logs and it seems to be installing fine, however I can't seem to find any process running. Is there supposed to be a process running? Is there any issues with running this module on a smaller keyboard layout (without a numpad)?

tuxedo-backlight-control widget

Dear @tuxedochris,

I recently purchased a Clevo laptop and found this repository after I was frustrated that I couldn't toggle off the keyboard backlight. I'm very grateful for your (and other contributors') work! However I found it tiresome to manually modify the /etc/modprobe.d/tuxedo_keyboard file and created a bash script & GUI (with python3 & python3-tk) for it (installable with .deb package, using rmmod & modprobe).

I would really appreciate you give it a try/ your feedback, so I'll leave the link here just in case: https://github.com/webketje/tuxedo-backlight-control/. Sorry for polluting the issues here, if you're interested I can be reached at the public email in my profile.

Clevo PC50DC

I am trying to get this running, also the screen does indicate a keyboard light been press, as well as dmesg showing increase and decrease, nothing happened.

it seem that the key is not recognised?

[  803.281729] atkbd serio0: Unknown key released (translated set 2, code 0x6f on isa0060/serio0).
[  803.281735] atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.

Build module on Fedora 31 fails with sed: can't read dkms.conf: No such file or directory

on a fresh up to date Fedora 31 I am trying to build this module.
Output of make
make -C /lib/modules/5.5.17-200.fc31.x86_64/build M=/root/tuxedo-keyboard modules
make[1]: Entering directory '/usr/src/kernels/5.5.17-200.fc31.x86_64'
sed: can't read dkms.conf: No such file or directory
sed: can't read dkms.conf: No such file or directory
sed: can't read dkms.conf: No such file or directory
sed: can't read dkms.conf: No such file or directory
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory '/usr/src/kernels/5.5.17-200.fc31.x86_64'
[root@raptor tuxedo-keyboard]# dnf update
Last metadata expiration check: 2:20:06 ago on Sat 18 Apr 2020 06:14:40 PM CEST.
Dependencies resolved.
Nothing to do.
Complete!
It looks like for some reason dkms.conf cannot be located.
In the makefile I can see the failing commands.
VER := $(shell sed -n 's/^PACKAGE_VERSION=([^\n])/\1/p' dkms.conf)
MODULE_NAME := $(shell sed -n 's/^PACKAGE_NAME=([^\n]
)/\1/p' dkms.conf)

dkms.conf is there in the same directory as the Makefile.

Hardware not updating on PowerSpec 1530 (Clevo PB50DF2)

My keyboard backlight works in Windows 10 and remains blue in Arch Linux (kernel 5.10.12-arch1-1). The hardware keys do nothing to change the lighting of my keyboard although the system configuration seems to be updating. Here is the result of journalctl after hitting Fn and the numpad -, +, /, and * multiple times in no particular order. Again there is no change in brightness or color of the keyboard during any of this. The atkbd serio0 messages occur when I press and then again when I release the Fn key only.

Feb 04 12:25:50 beryllium kernel: tuxedo_keyboard: Set brightness on 75
Feb 04 12:25:50 beryllium kernel: tuxedo_keyboard: Set brightness on 50
Feb 04 12:25:51 beryllium kernel: tuxedo_keyboard: Set brightness on 25
Feb 04 12:25:51 beryllium kernel: tuxedo_keyboard: Set brightness on 0
Feb 04 12:25:51 beryllium kernel: tuxedo_keyboard: Set brightness on 0
Feb 04 12:25:51 beryllium kernel: tuxedo_keyboard: Set brightness on 0
Feb 04 12:25:51 beryllium kernel: tuxedo_keyboard: Set brightness on 0
Feb 04 12:25:52 beryllium kernel: tuxedo_keyboard: Set brightness on 0
Feb 04 12:25:52 beryllium kernel: atkbd serio0: Unknown key released (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:25:52 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:04 beryllium kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:04 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:06 beryllium kernel: tuxedo_keyboard: Set keyboard enabled to: 0
Feb 04 12:29:07 beryllium kernel: atkbd serio0: Unknown key released (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:07 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:07 beryllium kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:07 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:08 beryllium kernel: tuxedo_keyboard: set_next_color_whole_kb(): new_color_id: 2, new_color_code FF00
Feb 04 12:29:08 beryllium kernel: atkbd serio0: Unknown key released (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:08 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:09 beryllium kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:09 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:11 beryllium kernel: tuxedo_keyboard: Set brightness on 0
Feb 04 12:29:11 beryllium kernel: atkbd serio0: Unknown key released (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:11 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:12 beryllium kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:12 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:12 beryllium kernel: tuxedo_keyboard: Set brightness on 25
Feb 04 12:29:12 beryllium kernel: atkbd serio0: Unknown key released (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:12 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:42 beryllium kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:42 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:44 beryllium kernel: tuxedo_keyboard: Set brightness on 50
Feb 04 12:29:44 beryllium kernel: tuxedo_keyboard: Set brightness on 75
Feb 04 12:29:44 beryllium kernel: tuxedo_keyboard: Set brightness on 100
Feb 04 12:29:44 beryllium kernel: atkbd serio0: Unknown key released (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:44 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:45 beryllium kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:45 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:45 beryllium kernel: tuxedo_keyboard: Set brightness on 125
Feb 04 12:29:46 beryllium kernel: tuxedo_keyboard: Set brightness on 150
Feb 04 12:29:46 beryllium kernel: tuxedo_keyboard: Set brightness on 175
Feb 04 12:29:46 beryllium kernel: atkbd serio0: Unknown key released (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:46 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:46 beryllium kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:46 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:47 beryllium kernel: tuxedo_keyboard: Set keyboard enabled to: 1
Feb 04 12:29:47 beryllium kernel: atkbd serio0: Unknown key released (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:47 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:47 beryllium kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:47 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.
Feb 04 12:29:48 beryllium kernel: tuxedo_keyboard: set_next_color_whole_kb(): new_color_id: 3, new_color_code FF
Feb 04 12:29:48 beryllium kernel: atkbd serio0: Unknown key released (translated set 2, code 0x6f on isa0060/serio0).
Feb 04 12:29:48 beryllium kernel: atkbd serio0: Use 'setkeycodes 6f <keycode>' to make it known.

acpidump.txt
dmesg.txt

Some more detailed system info (with serial numbers and uuids removed) obtained with dmidecode.

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: Micro Electronics Inc
	Product Name: 1530
	Version: Not Applicable
	Wake-up Type: Power Switch
	Family: PowerSpec

Handle 0x0002, DMI type 2, 17 bytes
Base Board Information
	Manufacturer: Clevo
	Product Name: PB50DF2
	Version: Not Applicable
	Features:
		Board is a hosting board
		Board is replaceable
	Location In Chassis: To Be Filled By O.E.M.
	Chassis Handle: 0x0003
	Type: Motherboard
	Contained Object Handles: 0

Module tuxedo_keyboard not found

Hi,

I own a Manjaro Infinitybook Pro 15 which came shipped with Manjaro KDE. I re-installed a custom Manjaro system using Manjaro Architect and wished to have the same backlighting used on my KDE system before.

I took the non-DKMS route.

git clone ..
cd tuxedo-keyboard
git checkout release

Output of "make clean && make"

make -C /lib/modules/5.4.67-1-MANJARO/build M=/home/duclos/Documents/tuxedo-keyboard clean
make[1]: Entering directory '/usr/lib/modules/5.4.67-1-MANJARO/build'
make[1]: Leaving directory '/usr/lib/modules/5.4.67-1-MANJARO/build'
make -C /lib/modules/5.4.67-1-MANJARO/build M=/home/duclos/Documents/tuxedo-keyboard modules
make[1]: Entering directory '/usr/lib/modules/5.4.67-1-MANJARO/build'
CC [M] /home/duclos/Documents/tuxedo-keyboard/./src/tuxedo_keyboard.o
Building modules, stage 2.
MODPOST 1 modules
CC [M] /home/duclos/Documents/tuxedo-keyboard/./src/tuxedo_keyboard.mod.o
LD [M] /home/duclos/Documents/tuxedo-keyboard/./src/tuxedo_keyboard.ko
make[1]: Leaving directory '/usr/lib/modules/5.4.67-1-MANJARO/build'

Output of modprobe tuxedo_keyboard:
modprobe: FATAL: Module tuxedo_keyboard not found in directory /lib/modules/5.4.67-1-MANJARO

I understand that the module is not in the correct location, but I do not know what to change to what to move in the system to make it find it.

Any help is appreciated, thank you

Change colour keyboard shortcut kills module

I've installed the module using the dkms method and everything seems to work well except for the change color keyboard shortcut. When trying to use this, the back-light switches off and seems to kill the module. No other keyboard shortcuts will then respond until I reload the module.
I've written a script to cycle through the default colours and bound this to another keyboard shortcut for now but it'd be nice to get the proper keyboard shortcut working if possible.

My system is a Clevo NH50_70RH according to lshw.
I'm running Fedora 30 KDE kernel 5.2.9-200.fc30.x86_64

Licensing incompatibility between Linux kernel and these kernel modules

I was looking into this project's kernel modules to figure out packaging it, and I discovered that this project's license is not compatible with the Linux kernel's own license, thus the combination is not redistributable.

The Linux kernel is GPLv2 (SPDX: GPL-2.0-only), and the kernel modules are GPLv3+ (SPDX: GPL-3.0-or-later). As GPLv3 is incompatible with GPLv2 when the combination of software cannot be upgraded to GPLv3 on redistribution (as is the case with the Linux kernel), shipping this or getting this merged into the mainline kernel will not be possible without fixing the licensing of these modules first.

Please can you relicense the modules to GPLv2+ (SPDX: GPL-2.0-or-later) to make it compatible with the Linux kernel?

I suspect this was an unintentional incompatibility, and I hope this can be swiftly resolved.

Doesnt build on kernel 5.2 and 5.3

Hey folks!

Wanted to install the package on Manjaro today, but it can't build for me:

:: Running post-transaction hooks...
(1/4) Updating linux52 module dependencies...
(2/4) Updating linux53 module dependencies...
(3/4) Install DKMS modules
==> dkms install tuxedo-keyboard/2.0 -k 5.2.21-1-MANJARO
Error! Bad return status for module build on kernel: 5.2.21-1-MANJARO (x86_64)
Consult /var/lib/dkms/tuxedo-keyboard/2.0/build/make.log for more information.
==> dkms install tuxedo-keyboard/2.0 -k 5.3.8-3-MANJARO
==> Unable to install module tuxedo-keyboard/2.0 for kernel 5.4.0-2-MANJARO: Missing kernel modules tree.

I wanted to open /var/lib/dkms/tuxedo-keyboard/2.0/build/make.log as it said, but the file is non-existent.

Is there anything I'm missing, or does it just not work yet for these kernels?

Is there any compatibility list for kernels?

changing keyboard brightness does not work on InfinityBook Pro 14 v5

Using Fn+F4 to change the brightness is always working. Even without the module being loaded. But testing with xev no KeyPressed-Events are being emitted to the system.

Loading the module works fine:

~ # dmesg
[56901.424667] tuxedo_keyboard: Model 'TUXEDO' found
[56901.549661] tuxedo_keyboard: set_mode on CUSTOM
[56901.592072] tuxedo_keyboard: Set brightness on 255
[56901.600897] tuxedo_keyboard: Set keyboard enabled to: 1
[56901.609038] input: TUXEDO Keyboard as /devices/platform/tuxedo_keyboard/input/input47
~ # cat /sys/devices/platform/tuxedo_keyboard/brightness
255
~ #

After that I can see events using xev:

KeyPress event, serial 41, synthetic NO, window 0xa200001,
    root 0x1a1, subw 0x0, time 57227841, (155,257), root:(1026,736),
    state 0x0, keycode 238 (keysym 0x1008ff05, XF86KbdBrightnessUp), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0xa200001,
    root 0x1a1, subw 0x0, time 57227841, (155,257), root:(1026,736),
    state 0x0, keycode 238 (keysym 0x1008ff05, XF86KbdBrightnessUp), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

But the module fails to set the brighness in any way. Trying to echo any value to the brighness file will not change anything and the value stays at 255.
Also using something like xdotool key XF86KbdBrightnessUp does not work.

Would be nice to have this fixed so the keyboardlight can be turned on and off after booting or based on daytime or even sunrise/sunset times.

tuxedo

tldr; on clevio laptops, please provide support for color switch mode, not illumination mode by default

I purchased a TUXEDO InfinityBook Pro 15 with Bungie OS installed by default. This OS provides a full keyboard back-light support out-of the box. In particular, the user can switch between back-light colors with the proper combination of keys (fn + a special key on the num pad).

For personal convenience, I decided to switch to an another OS (Ubuntu based as well), and then lost the back-light support. Fortunately, the tuxedo-keyboard solution provided in this repository added some support for keyboard back-light (and it works well). However, surprisingly after the driver install the combination of fn+key on the num pad doesn't switch between colors anymore, but rather switch between different illuminations modes (flash-light, disco, etc). While IMHO there is a real value in the possible choice between colors on a laptop (eg. high blue color during daytime, and soft red color during nighttime), switching between different frequencies of color change or any "stroboscopic" mode is of lesser interest on a laptop (who can really use a keyboard with continuous back-light flashing?).

Can you please provide help on how to use the fn+num key combination to switch between colors, and not modes, or consider updating your driver accordingly by default?

Thank you very much for your work on this driver.

Module isn't working

I followed the DKMS route but my keyboard backlight is still not working. Here are some information:

# dkms --version
dkms:2.6
# uname -r
5.2.13-200.fc30.x86_64
# journalctl -qkg tuxedo --no-hostname | cut -c 17-
kernel: DMI: TUXEDO Computers TUXEDO InfinityBook 14v1/X35, BIOS 18.13 09/30/2016
kernel: tuxedo_keyboard: loading out-of-tree module taints kernel.
kernel: tuxedo_keyboard: module verification failed: signature and/or required key missing - tainting
kernel: tuxedo_keyboard: No known WMI event notification GUID found

Add more documentation

I want to port some of this code to support the single color back light of my InfinityBook Pro v4 and am a little lost as to what specific things mean/accomplish.
Could you add some more documentation? (Not the basic module stuff, but maybe some of the bit magic you used.)

Also I am an apprentice programmer so I may need some help in general.

(I am already in contact with your support, if you have any resources on this PLEASE share them with me, either via the support or via the mail on my proile (different) ;-) )

Crashing when mode= is changed

When I set mode to mode=1 in /etc/modprobe.d/tuxedo_keyboard.conf my computer begins freezing every 10 minutes or so, with the only solution being a hard reboot. I am running Fedora KDE 33 on a Aura 15. Thanks in advance.

Tag a release

While we are waiting for #17, it would be nice to tag a recent (working) version as a release version. This would allow people to easily create reproducible custom packages for their distro, which would already make one person very happy (me ๐Ÿ˜„ ).

Brightness always on maximum

Hello to the tuxedo team!

At the moment I have the following problem using the keyboard:
I can set a specific color and cycle through the available colors as well as turning the backlight on and off.

However, if I want to dim the light during night time etc. the brightness will always reset to the maximum.

I've tested the widget linked here #12 with the mode wave and the color switches the brightness as expected. It seems that it's a software problem.

(I can hit the dim button fast several times and it works but then it lights up again)

I'm using the Infinitybook 15 v4 with Ubuntu 18.04 (Gnome) and installed it with the web-fai tool with full disk encryption.

Extra area not recognised, although it exists

I'm on a Clevo P771DM. It definitely has a separately controllable LED bar on the underside (I've checked in Windows, just in case!), which as I understand it should register as the "extra" area. It doesn't show up. Presumably, on this model, the region has some other ID than the expected F3? I'd be happy to do whatever is needful to work out what changes would get it working, if you can give me some guidance.

Cannot set module parameters

Hello,
I am running Arch Linux 5.6.8 on a TUXEDO Book BC1510
I successfully built the module via the DKMS route.
It works great with the keyboard shortcuts, I can set keyboard backlight on/off, switch colours, and set brightness level.

However I cannot set any parameter using the command line. Neither with modprobe nor Sysfs.

For instance running:
sudo modprobe tuxedo-keyboard color_left=ff0000
doesn't do anything

Modifying the /etc/modprobe.d/tuxedo_keyboard.conf doesn't do anything either.

Here is the output of modinfo tuxedo-keyboard:
filename: /lib/modules/5.6.8-arch1-1/kernel/lib/tuxedo_keyboard.ko.xz
alias: wmi:ABBC0F6D-8EA1-11D1-00A0-C90629100000
alias: wmi:ABBC0F6B-8EA1-11D1-00A0-C90629100000
version: 2.0.2
license: GPL
description: TUXEDO Computers Keyboard Backlight Driver
author: Christian Loritz / TUXEDO Computers GmbH <[email protected]>
srcversion: C5E4B6AFD14E0F3F229FE9C
depends: wmi
retpoline: Y
name: tuxedo_keyboard
vermagic: 5.6.8-arch1-1 SMP preempt mod_unload
parm: color_left:Color for the Left Region (uint)
parm: color_center:Color for the Center Region (uint)
parm: color_right:Color for the Right Region (uint)
parm: color_extra:Color for the Extra Region (uint)
parm: mode:Set the keyboard backlight blinking pattern
parm: brightness:Set the Keyboard Brightness
parm: state:Set the State of the Keyboard TRUE = ON | FALSE = OFF (bool)

Tell me if you need more information
Thank you

Keep Lighting Always Turned off

Hello,

I am running Manjaro KDE on a Manjaro InfinityBook Pro 15.

All the backlighting shortcuts work perfectly and I am very happy with the options available.

However, currently when I turn the computer on or when it wakes up from hibernation, the backlighting of the Keyboard turns on as well. When turning on the computer from zero (booting), there is this effect of switching between colors once at a time, like a "dance".

I would like however to have the backlighting always off, completely, even when being booted. Then, when needed, I could press the necessary shortcut to turn it on.

I tried both changing the "state" variable in the "tuxedo_keyboard.conf" to 0. Something like:

"options tuxedo_keyboard state=0 mode=0 brightness=50 color_left=0xFFFFFF color_center=0xFFFFFF color_right=0xFFFFFF"

This turns off the KB backlighting some seconds after turning the computer on. However the dancing effect of colors still takes place when booting, I would like to have that off as well.

Meaning, the default being: "Always turned off, only turn on when manually asked to", not the other way around.

Thank you

Pulse 15 keyboard backlight does not work until 1st wake up from suspend

After boot the keyboard backlight won't work at all. If I do a suspend and wake all is working as expected again.

On the grub menu, the backlight is working.
Furthermore the Tuxedo-CC button (Fn + F6) does also nothing until wake up from suspend.

Using Manjaro Gnome with Kernel 5.9.16-1-MANJARO.

what I can see on first look is:

$ journalctl -p 3 -xb

Jan 18 10:22:08 <hostname> kernel: ACPI BIOS Error (bug): Failure creating named object [\SMIB], AE_ALREADY_EXISTS (20200717/dsfield-637)
Jan 18 10:22:08 <hostname> kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.GPP4.WLAN], AE_NOT_FOUND (20200717/dswload2-162)
Jan 18 10:22:08 <hostname> kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200717/psobject-220)
Jan 18 10:22:08 <hostname> kernel: sp5100-tco sp5100-tco: Watchdog hardware is disabled
Jan 18 10:22:08 <hostname> kernel: snd_pci_acp3x 0000:04:00.5: Invalid ACP audio mode : 0
Jan 18 10:22:13 <hostname> systemd-backlight[1124]: Failed to get backlight or LED device 'backlight:acpi_video0': No such device
Jan 18 10:22:13 <hostname> systemd[1]: Failed to start Load/Save Screen Backlight Brightness of backlight:acpi_video0.
	at Subject: A start job for unit systemd-backlight@backlight:acpi_video0.service has failed
	at Defined-By: systemd
	at Support: https://forum.manjaro.org/c/support
	at 
	at A start job for unit systemd-backlight@backlight:acpi_video0.service has finished with a failure.
	at 
	at The job identifier is 922 and the job result is failed.
Jan 18 10:22:13 <hostname> systemd-backlight[1125]: amdgpu_bl0: Failed to write system 'brightness' attribute: No such device or address
Jan 18 10:22:13 <hostname> systemd[1]: Failed to start Load/Save Screen Backlight Brightness of backlight:amdgpu_bl0.
	at Subject: A start job for unit systemd-backlight@backlight:amdgpu_bl0.service has failed
	at Defined-By: systemd
	at Support: https://forum.manjaro.org/c/support
	at 
	at A start job for unit systemd-backlight@backlight:amdgpu_bl0.service has finished with a failure.
	at 
	at The job identifier is 928 and the job result is failed.

Makefile's KDIR variable breaks dkms.

The dkms.conf file has this line:

MAKE[0]="make -C . KERNELDIR=/lib/modules/${kernelver}/build"

Which means that during dkms install process, the target kernel is send to make command by variable KERNELDIR.

However, in Makefile, there's this line:

KDIR := /lib/modules/$(shell uname -r)/build

And the rest of Makefile uses this KDIR variable to build kernel modules. Which means that it'll always build against current running kernel, rather than the target kernel. So the dkms install will always fails when upgrading kernel.

To fix this bug, simple delete the line KDIR := ... in Makefile, or change it like this:

if [[ -z $KERNELDIR ]]
  KERNELDIR := /lib/modules/$(shell uname -r)/build
fi

And then replace all KDIR with KERNELDIR in the rest of Makefile.

Confusion about installation and usage

Hello,
I have a CLEVO P650HP3. I would like to use two of its features that do not work out of the box: the airplane mode function key and the multicolor keyboard backlight.c .

I've been fiddling with your driver for about a year now, trying to make everything work. By installing the dkms module from AUR (I use Arch) I've been able to use the airplane mode key but not the backlight. I believed my laptop model was not yet supported so I kinda forgot about it.

Now however I've tried installing this module from Github and found out it works. To use it however I need to disable the other DKMS (from bitbucket, https://bitbucket.org/tuxedocomputers/clevo-xsm-wmi/overview) which correctly manages the airplane key. With the github module alone on the contrary it does not work (not sure if it's not meant to).

Now, the Readme says something about it, but I'm not sure I understand correctly. Quoting:

Use either method only. Do not combine installation methods, such as starting with the build step 
below and proceeding to use the same build artifacts with the DKMS module. Otherwise the module 
built via dkms will fail to load with an exec_format error on newer kernels due to a mismatched
 version magic.

This is why the DKMS build step begins with a make clean step.

For convenience, on platforms where DKMS is in use, skip to the DKMS section directly.
  1. What are the two methods?
  2. Are you referring to the other DKMS, the one from bitbucket/aur?
  3. What "DKMS section" are you referring to, and opposed to what (I only see "The DKMS Route", no other option)?

Also, I might be misunderstanding heavily how every tool is supposed to work. Is the Github version supposed to supersede the Bitbucket one? Are those two different drivers?
I've read https://bitbucket.org/tuxedocomputers/clevo-xsm-wmi/issues/44/the-status-and-the-future-of-tuxedo-clevo, but I still find myself confused. Could you please clarify/help me?

Thank you,
Maldus

Issues with Pulse 15

Hello,

I am having few small issues with this model:

  • When disabling the touchpad the light should be turned on (small indicator that it's off), but it never is
  • Sometimes the backlight turn itself on automatically (usually when waking up)
  • Pressing the volume (Fn+F2/F3) once changes volume twice

Using Ubuntu 20.10, but had same issues with 20.04.

Thanks!

cannot compile - Error! Bad return status for module build on kernel

Cannot compile following git steps

git clone https://github.com/tuxedocomputers/tuxedo-keyboard.git
cd tuxedo-keyboard

make clean & make
sudo mkdir /usr/src/tuxedo-keyboard-2.0.0/
sudo cp -R . /usr/src/tuxedo-keyboard-2.0.0/
sudo dkms add -m tuxedo-keyboard -v 2.0.0

sudo dkms build -m tuxedo-keyboard -v 2.0.0
Error as follow:
Building module:
cleaning build area...(bad exit status: 2)
make -j12 KERNELRELEASE=5.5.13-200.fc31.x86_64 -C src/ KERNELDIR=/lib/modules/5.5.13-200.fc31.x86_64/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.5.13-200.fc31.x86_64 (x86_64)
Consult /var/lib/dkms/tuxedo-keyboard/2.0.0/build/make.log for more information.

make.log:
DKMS make.log for tuxedo-keyboard-2.0.0 for kernel 5.5.13-200.fc31.x86_64 (x86_64)
Thu 02 Apr 2020 05:48:31 PM CEST
make: Entering directory '/var/lib/dkms/tuxedo-keyboard/2.0.0/build/src'
make: *** No targets specified and no makefile found. Stop.
make: Leaving directory '/var/lib/dkms/tuxedo-keyboard/2.0.0/build/src'

I am stuck with this blue light on my keyboard and this is not not NICE at all.

color_left effects whole keyboard

I have a N150CU laptop

To be fair this might not be a bug ?
color_left seems to effect the whole keyboard, right and center have no effect

might it be that with this model of laptop that only has left wired to the whole keyboard for all I know, but thought it might be worth reporting... (if only so you get a handle on how the chip is used in the wild!)

Not working for latest kernel

`Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area...(bad exit status: 2)
make -j8 KERNELRELEASE=5.0.0-16-generic -C . KDIR=/lib/modules/5.0.0-16-generic/build...
Signing module:

  • /var/lib/dkms/tuxedo_keyboard/1/5.0.0-16-generic/x86_64/module/tuxedo_keyboard.ko
    Corrupted signature list
    Secure Boot not enabled on this system.
    cleaning build area...(bad exit status: 2)
    `

Keyboard brightness stopped working on Polaris with 5.10

Hey there,

I don't know if it was the new kernel version or something else but the keyboard backlighting stopped working on my Polaris 15. I updated the tuxedo-keyboard to version 3.0.2 but still nothing. Everything else about the keyboard seems to work except presing FN + SPACE to turn it on. I tried with a config file as well and set it to 255 but that did not do anything else.

My system:
Fedora 33, Gnome 3.38.3, X11, kernel 5.10.10-200

I also tried uninstalling the dkms module with dkmsremove but even then no luck (when I initially installed Fedora, the keyboard worked fine including backlight and backlight control, just the color was random and disabling the trackpad did not work, so I went ahead and installed it)

Also when I reboot the computer, the trackpad does not always work and requires a second reboot after which it does. That behaviour is also new. The backlight still works in general, because when booting up it lights up and goes through a color cycle.

Do you guys have any idea what the problem could be here?

/sys/devices/platform/tuxedo_keyboard//color_* not writable

I tried to change color and it didn't worked for me.

root@dennis-laptop:/sys/devices/platform/tuxedo_keyboard# echo 00ff00 > color_right
bash: echo: write error: Invalid argument
dennis@dennis-laptop:~/tmp/serviceschicht-eva$ sudo sh -c "echo ff0000 > /sys/devices/platform/tuxedo_keyboard/color_right"
[sudo] password for dennis: 
sh: echo: I/O error

Module is loaded succesfully:

[ 8955.936671] tuxedo_keyboard: Model 'TUXEDO' found
[ 8955.948429] input: TUXEDO Keyboard as /devices/platform/tuxedo_keyboard/input/input41
[ 8956.012998] tuxedo_keyboard: set_mode on CUSTOM
[ 8956.061182] tuxedo_keyboard: Set brightness on 255
[ 8956.070922] tuxedo_keyboard: Set keyboard state on: 1

changing mode via

sudo sh -c "echo 4 > /sys/devices/platform/tuxedo_keyboard/mode"

works.

Conf file is not taken into account

Hello !
I own a Polaris 15 with rx 2060 and Ryzen 7 4800H. I'm running Kubuntu 20.10 with 5.8.0-33 kernel.
But I've also tried on 20.04 resulting in the same behavior.

Editing /etc/modprobe.d/tuxedo_keyboard.conf doesn't seem to change anything.
I have compiled the module and some things seem to work : for example, the default color in uniwill_keyboard.h, but not the conf file.

modprobe tuxedo_keyboard -c | grep options also returns the values from the file but they don't affect the keyboard (state, mode, color etc.)

If I can help !

Edit : Also, setting any param via modprobe doesn't work.

tuxedo-keyboard not working as expected

Is my Clevo P17SM keyboard still supported? I am currently running Kubuntu 20.04 and have just installed the latest tuxedo_keyboard release, but it seems that only a few functions are working:

  • When pressing any of the keys for controlling the backlight I see a message appearing in the kernel log, but nothing seems to happen.
  • I was not able to set any parameters using modprobe either.
  • When changing the mode to CUSTOM, using echo 0 >> /sys/devices/platform/tuxedo_keyboard/mode nothing happens.
  • When changing the mode to BREATHE using echo 1 >> /sys/devices/platform/tuxedo_keyboard/mode the backlight seems to be disabled?
  • All other modes seem to be working.
  • Changing brightness and/or state doesn't seem to have any effect either.

broken make by commit on 10 July " Makefile: Remove incorrect and suprefluous KDIR variable definition "

Hi,
as commented by user @scitor the commit release on 10 July 2019 named "Makefile: Remove incorrect and suprefluous KDIR variable definition" broke the making process as described in the guidelines giving the above error.

~/tuxedo-keyboard# make clean
make -C M=/home/luca/tmp/tuxedo-keyboard clean
make[1]: *** M=/home/luca/tmp/tuxedo-keyboard: No such file or directory. Stop.
make: *** [Makefile:11: clean] Error 2

For everyone looking for a solution just revert back the file "makefile" as it was before, so delete the line number 6 and the result must be as:

obj-m := ./src/tuxedo_keyboard.o
tuxedo_tuxedo-objs := ./src/tuxedo_keyboard.o

PWD := $(shell pwd)
KDIR := /lib/modules/$(shell uname -r)/build

all:
	make -C $(KDIR) M=$(PWD) modules
clean:
	make -C $(KDIR) M=$(PWD) clean
install:
	make -C $(KDIR) M=$(PWD) modules_install
dkmsadd:
	cp -R . /usr/src/tuxedo_keyboard-1
	dkms add -m tuxedo_keyboard -v 1

dkmsremove:
	dkms remove -m tuxedo_keyboard -v 1 --all
	rm -rf /usr/src/tuxedo_keyboard-1

Auto-Off (Timed)

Greetings,

In Windows, my laptop can shut off the LED keyboard light after a set time (5 min - 20 min) with the control center software.

Does this module have an auto-off setting that we can insert into the conf file. Please adivse.
Thanks.

AT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.