Giter Club home page Giter Club logo

avell-unofficial-control-center's Introduction

avell-unofficial-control-center

Gitter

This is a driver to control RGB keyboard in Linux Systems based on Avell Control Center.

This project is at an early stage. The aim is to implement a Linux userspace driver and control tool for RGB LED keyboard backlight controller Integrated Technology Express ITE Device(8291) Rev 0.03. This RGB keyboard controller is used in many gaming laptops around the world. For a list of reseller-branded devices, see below.

Compatibility

Note:

if you have ITE Device(8291) Rev 0.02 see Project StarBeat

Find out about your laptop's keyboard model

sudo hwinfo --short

It should show the ITE Device(8291) in the keyboard section:

keyboard:
                       Integrated Technology Express ITE Device(8291)
  /dev/input/event0    AT Translated Set 2 keyboard

Known compatible devices

ITE Device(8291) is integrated in widely-used Tongfang gaming laptop barebones:

  • Tongfang GK5CN5Z / GK5CN6Z / GK5CQ7Z / GK5CP0Z (Barebone)
  • Avell G1550 FOX, G1513 FOX-7, A65, A52 (BR reseller)
  • Schenker XMG Neo 15 (DE reseller), Versions M18 & M19
  • PCSpecialist Recoil II & III (UK reseller)
  • Scan/3XS LG15 Vengeance Pro (UK reseller)
  • Overpowered 15 and 15+ (US reseller, sold via Walmart)
  • Monster Tulpar T5 (TR reseller)
  • MECHREVO Deep Sea Ghost Z2 (CN reseller)
  • Raionbook GS5 (IT reseller)
  • Illegear Onyx (MY reseller)
  • Hyperbook Pulsar Z15 (PL reseller)
  • SMART7 Kallisto GX15D (PL reseller)
  • Aftershock APEX 15 (SG reseller)
  • Origin-PC EON15-S (USA, Asia, and AU/NZ reseller)
  • Eluktronics Mech 15 G2 (US reseller)
  • HIDevolution EVOC 16GK5 (US reseller)
  • Obsidian GK5CP (PT reseller)
  • Vulcan JinGang GTX Standard

Project status

Working:

  • change color of mechanical rgb-keyboard
  • adjust brightness
  • disable RGB leds
  • set predefined styles

To do:

  • implement a GUI interface in Pyqt/Pyside2
  • save/load profiles
  • set custom color in specific key
  • monitor, cpu/gpu load

Installation

The easy way, using pip3

Install via pip using sudo or with root user:

sudo pip3 install avell-unofficial-control-center

The manual way, using git

  • Clone the repository (git clone https://github.com/rodgomesc/avell-unofficial-control-center.git), or update with git pull if cloned previously.
  • Build an installable package: python3 setup.py build
  • Install the package: sudo python3 setup.py install

Usage

Plain colors

Colors available are: red, green, blue, teal, pink, yellow, orange, white, olive, maroon, brown, gray, skyblue, navy, crimson, darkgreen, lightgreen, gold, violet.
Brightness options are: 1,2,3 and 4.

To set green color on all keys with max brightness:

aucc -c green -b 4

If no brightness parameter -b is provided, max brightness 4 is applied.

Alternating colors

To set alternating row colors:

aucc -H pink teal -b 4

Use -H for horizontal rows of alternating colors. Use -V for vertical columns of alternating colors.

Apply pre-defined styles

To set keyboard predefined custom styles:

aucc -s style

Styles available are rainbow, marquee, wave, raindrop, aurora, random, reactive, breathing, ripple, reactiveripple, reactiveaurora, fireworks.

Additional single colors are available for the following styles: raindrop, aurora, random, reactive, breathing, ripple, reactiveripple, reactiveaurora and fireworks. The colors available are: Red (r), Orange (o), Yellow (y), Green (g), Blue (b), Teal (t), Purple (p).

Append those styles with the start letter of the color you would like. For example: rippler = Ripple Red, reactiveo = Reactive Orange, reactiveripplep = Reactive Ripple Purple.

Disable all keyboard backlight

To disable all keys:

aucc -d

Thanks to

  1. Avell - For this amazing Laptop
  2. @kirainmoe - For help-me on bring macOs Support

Contributions

Contributions of any kind are welcome. Please follow pep-8 coding style guides.

Donate ☕ ♥️

This is a project I develop in my free time. If you use avell-unofficial-control-center or simply like the project and want to help please consider donating a coffee.

avell-unofficial-control-center's People

Contributors

alckanso avatar astiak avatar gabmus avatar itiho avatar joapuiib avatar luizfschrickte avatar omgdadps avatar rodgomesc 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

avell-unofficial-control-center's Issues

Using udev rather than elevate

This is more a discussion than anything else.

Rather than typing sudo for every change, I was wondering if a udev rule would be more appropriate.

sudo vim /etc/udev/rules.d/99-aucc.rules
Add the following:
SUBSYSTEM=="usb", ATTR{idVendor}=="048d", ATTR{idProduct}=="ce00", MODE="666"
Save, exit, reboot.

I've commented out the elevate section of main.py and haven't seen any issues thus far. I'm able to choose styles and colours without having to input a password every time.

The only problem of course is getting people to create the rule when installing aucc. I'm not well versed enough in python to know if this can be automated. Or perhaps a file can be included in the source with instructions added to the readme to sudo cp it to the correct location.

Eluktronics Max 17

This worked great on the Evoo LP6/Eluktronics Mech 17.3
But the newer thinner chassis called the Max 17 has a different keyboard it's actually a much better keyboard aside from the lights not working with your control center. They use the same control center in Windows and are manufactured by the same company so maybe a driver update to the file would fix the issue.

Doesnt work on tongfeng, but I think we can made it (Polaris gk5np50)

Ive bought a Tongfang notebook (Polaris, gk5np50), and installed pop os on it.

When I try to run the script, it returns to me:
Traceback (most recent call last):
File "/usr/local/bin/aucc", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.8/dist-packages/aucc/main.py", line 86, in main
control = ControlCenter(vendor_id=0x048d, product_id=0xce00)
File "/usr/local/lib/python3.8/dist-packages/aucc/main.py", line 37, in init
super(ControlCenter, self).init(vendor_id, product_id)
File "/usr/local/lib/python3.8/dist-packages/aucc/core/handler.py", line 50, in init
super(DeviceHandler, self).init(vendor_id, product_id)
File "/usr/local/lib/python3.8/dist-packages/aucc/core/handler.py", line 16, in init
self._device = self._get_device(vendor_id, product_id)
File "/usr/local/lib/python3.8/dist-packages/aucc/core/handler.py", line 27, in _get_device
if device.is_kernel_driver_active(1):
AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

I don't know if my keyboards are suported, hwinfo:
keyboard:
/dev/input/event18 SINO WEALTH USB KEYBOARD
/dev/input/event4 AT Translated Set 2 keyboard

OS: Pop!_OS 20.04 LTS x86_64Host: POLARIS Standard Kernel: 5.8.0-7630-generic CPU: AMD Ryzen 5 4600H GPU: NVIDIA Corporation / GeForce GTX 1650RAM: 16GB - The brand is the brazilian Navegamer, from Daten.

setting certain "styles", ends in no lights

when i try to set the "rainbow" or "reactive" preset styles, it doesn't do anything, and then when i try to set it to something regular like a solid color it doesn't do anything. I end up having to reboot my system to get it to work again.

Keys turn off after setting color

model: Avell G1550 FOX

when trying to set a set color, keys light up with selected color for about 1 second, and turn black;
Some styles do nothing (like rainbow), while others do work for a while, but afterwards turn off until a keypress on keyboard;

AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

Tried at avell G1544 FOX, any aucc command gives me the following error (also it keeps asking for sudo)

aucc -c green -b 4
Traceback (most recent call last):
  File "/usr/local/bin/aucc", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/aucc/main.py", line 86, in main
    control = ControlCenter(vendor_id=0x048d, product_id=0xce00)
  File "/usr/local/lib/python3.5/dist-packages/aucc/main.py", line 37, in __init__
    super(ControlCenter, self).__init__(vendor_id, product_id)
  File "/usr/local/lib/python3.5/dist-packages/aucc/core/handler.py", line 50, in __init__
    super(DeviceHandler, self).__init__(vendor_id, product_id)
  File "/usr/local/lib/python3.5/dist-packages/aucc/core/handler.py", line 16, in __init__
    self._device = self._get_device(vendor_id, product_id)
  File "/usr/local/lib/python3.5/dist-packages/aucc/core/handler.py", line 27, in _get_device
    if device.is_kernel_driver_active(1):
AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

N.A.V.E linux support

hi everyone, N.A.V.E is a new tong-fang brand in Brazil, but when i try to use any configurations don't work, the leds turn off.

keyboard:
                       Integrated Technology Express ITE Device(8291)
  /dev/input/event4    AT Translated Set 2 keyboard

The keyboard looks compatible.

pip package not updated with version 1.0.3 and not working properly

Hi! Thanks for this amazing project!

I have an Avell G1513 Fox-7 and I installed this tool using pip

 sudo pip3 install avell-unofficial-control-center

But the version with pip is the version 1.0.1 and it is not working properly, setting styles like rainbow doesn't work as expected.

Installing in the manual way cloning this source works fine.

I think there is just a need to update the pip package for the last version 1.0.3

Does not appear the: ITE device (8291) on keyboard:...

I uninstalled Hackintosh on my laptop and after that
the ITE Device (8291) disappeared in hwinfo
I installed aucc and it doesn't work, In windows it doesn't work either :(
can you help me enable my rgb keyboard? please

hwinfo

ricardo@ricardoifc:~$ hwinfo --short
cpu:
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3800 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3813 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3318 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3812 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3560 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3893 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3916 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3770 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3938 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3855 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3933 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3666 MHz
keyboard:
/dev/input/event4 AT Translated Set 2 keyboard
mouse:
/dev/input/mice SiGma Micro Usb Mouse
/dev/input/mice UNIW0001:00 093A:0003 Touchpad
monitor:
LCD Monitor
graphics card:
nVidia GP107M [GeForce GTX 1050 Ti Mobile]
Intel UHD Graphics 630 (Mobile)
sound:
Intel Cannon Lake PCH cAVS
nVidia GP107GL High Definition Audio Controller
storage:
Intel Cannon Lake Mobile PCH SATA AHCI Controller
network:
wlo1 Intel Wireless-AC 9560 [Jefferson Peak]
enp4s0f1 Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
network interface:
lo Loopback network interface
enp4s0f1 Ethernet network interface
wlo1 Ethernet network interface
disk:
/dev/sda WDC WDS240G2G0B-
partition:
/dev/sda1 Partition
/dev/sda2 Partition
/dev/sda3 Partition
/dev/sda4 Partition
/dev/sda5 Partition
usb controller:
Intel Cannon Lake PCH USB 3.1 xHCI Host Controller
bios:
BIOS
bridge:
Intel ISA bridge
Intel Cannon Lake PCH PCI Express Root Port #21
Intel Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16)
Intel Cannon Lake PCH PCI Express Root Port #17
Intel 8th Gen Core Processor Host Bridge/DRAM Registers
Intel Cannon Lake PCH PCI Express Root Port #15
hub:
Linux Foundation 2.0 root hub
Linux Foundation 3.0 root hub
memory:
Main Memory
unknown:
FPU
DMA controller
PIC
Keyboard controller
Intel Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
Intel Cannon Lake PCH HECI Controller
Intel Cannon Lake PCH SPI Controller
Intel Communication controller
Intel Cannon Lake PCH Thermal Controller
Intel Cannon Lake PCH Serial IO I2C Controller #0
Intel Cannon Lake PCH Shared SRAM
Realtek RTL8411B PCI Express Card Reader
Intel Cannon Lake PCH SMBus Controller
Chicony Electronics HD Webcam
Integrated Technology Express ITE Upgrade Mode

Suggestion: repository renaming

Hi Rodrigo,

I think there are many other Avell Linux users out there and it is really hard to find this repository due to its name. What do you think about renaming it to avell-unofficial-control-center or something like that? Just a suggestion, the son is yours! :)

Regards,
Luiz Fernando

No module named USB, No module name elevate

After installing, this is the output:

dps@vulcan:~$ sudo pip3 install avell-unofficial-control-center Collecting avell-unofficial-control-center Using cached https://files.pythonhosted.org/packages/e1/e6/99ec1af7a362344849cea9cda71c115b54f2d963dce42ff66ecf3700e5e5/avell_unofficial_control_center-1.0.1-py3-none-any.whl Requirement already satisfied: elevate in /root/.local/lib/python3.7/site-packages (from avell-unofficial-control-center) (0.1.3) Requirement already satisfied: pyusb in /root/.local/lib/python3.7/site-packages (from avell-unofficial-control-center) (1.0.2) Installing collected packages: avell-unofficial-control-center Successfully installed avell-unofficial-control-center-1.0.1 dps@vulcan:~$

It tells me that the requirements are satisfied, but when I go to run aucc, I am presented with this error:

Traceback (most recent call last): File "/usr/local/bin/aucc", line 6, in <module> from aucc.main import main File "/usr/local/lib/python3.7/dist-packages/aucc/main.py", line 10, in <module> from aucc.core.handler import DeviceHandler File "/usr/local/lib/python3.7/dist-packages/aucc/core/handler.py", line 8, in <module> import usb.core ModuleNotFoundError: No module named 'usb'

This is after running a normal command, like aucc -H blue white -b 4, then it asks me for my sudo password, and then am hit with this error.

I would like to point out that your program has always worked, until I just did a fresh install of Ubuntu 19.10 (which is the same release it was running before) and had to reinstall everything.

Any idea of what it could be?

keyboard brightness automaticlly set to level 3 after keyboard light automaticlly shut down

Machine: TONGFANG GK7CN6S (Overpowered 17)

How to reproduce the problem:
Set brightness to level 3, for example, by

aucc -c white -c 1

The keyboard brightness will be set to 1, as expected. After several minutes of inactive the keyboard light will be automatically turned off. When any key is pressed, the keyboard light will come back, the color will match the setting, however, the brightness will be set to level 3 instead of level 1. This issue occurs on any color.

Support for mb-15 G1

I have an eluktronics MB-15 (very similar to the G2) with an 8291 keyboard but aucc has one of 3 effects. (Either the light turns off, or it returns to the default blue state,or nothing changes.) What can I do to help add support? I have some coding experience but very limited RE abilities

Running this app on docker (linux)

Hi guys,
Don't know where to put this trick. I was able to run this app inside docker using the following instructions:

Create an image containing the required dependencies and this repo:

docker build -t aucc -f - . <<EOF
FROM python                                 
RUN apt-get update && apt-get install -y usbutils hwinfo; git clone https://github.com/rodgomesc/avell-unofficial-control-center.git
WORKDIR avell-unofficial-control-center
RUN python3 setup.py build; python3 setup.py install;
CMD aucc

EOF

Create an alias in your bash env:
alias aucc="docker run --privileged -v /dev/bus/usb:/dev/bus/usb -it --rm aucc aucc"

Now, run the aucc command to test the configuration:
aucc -c orange -b 2

Please note that the container is running in privileged mode and gives full access to all devices to the container. There's a way to configure cgroups to limit the access.

Author, if you want, update the README file to include those instructions. It will allow people to run the app without polluting python env and dependencies.

AVELL W1511 FOX - AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

aucc -c green -b 4
Traceback (most recent call last):
File "/usr/local/bin/aucc", line 10, in
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/aucc/main.py", line 86, in main
control = ControlCenter(vendor_id=0x048d, product_id=0xce00)
File "/usr/local/lib/python2.7/dist-packages/aucc/main.py", line 37, in init
super(ControlCenter, self).init(vendor_id, product_id)
File "/usr/local/lib/python2.7/dist-packages/aucc/core/handler.py", line 50, in init
super(DeviceHandler, self).init(vendor_id, product_id)
File "/usr/local/lib/python2.7/dist-packages/aucc/core/handler.py", line 16, in init
self._device = self._get_device(vendor_id, product_id)
File "/usr/local/lib/python2.7/dist-packages/aucc/core/handler.py", line 27, in _get_device
if device.is_kernel_driver_active(1):

hwinfo --short
cpu:
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3312 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2262 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2195 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 1943 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2888 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2841 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2743 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2813 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2780 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 1653 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 2820 MHz
Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz, 3605 MHz
keyboard:
/dev/input/event8 Maxxter Wireless Receiver
/dev/input/event4 AT Translated Set 2 keyboard
mouse:
/dev/input/mice Maxxter Wireless Receiver
/dev/input/mice SynPS/2 Synaptics TouchPad
monitor:
N156HHE-GA1 LCD Monitor
AOC 2280W
graphics card:
nVidia GP107M [GeForce GTX 1050 Ti Mobile]
Intel UHD Graphics 630 (Mobile)
camera:
Apple iPhone5/5C/5S/6
sound:
Intel Cannon Lake PCH cAVS
storage:
Intel SATA controller
network:
wlo1 Intel Wireless-AC 9560 [Jefferson Peak]
enp3s0f1 Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
network interface:
enp3s0f1 Ethernet network interface
docker0 Ethernet network interface
enp0s20f0u1c4i2 Ethernet network interface
wlo1 Ethernet network interface
lo Loopback network interface
disk:
/dev/sda WDC WDS250G2B0B-
partition:
/dev/sda1 Partition
/dev/sda2 Partition
usb controller:
Intel Cannon Lake PCH USB 3.1 xHCI Host Controller
bios:
BIOS
bridge:
Intel ISA bridge
Intel Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16)
Intel Cannon Lake PCH PCI Express Root Port #15
Intel 8th Gen Core Processor Host Bridge/DRAM Registers
Intel Cannon Lake PCH PCI Express Root Port #9
hub:
Linux Foundation 2.0 root hub
Linux Foundation 3.0 root hub
memory:
Main Memory
bluetooth:
Intel Bluetooth Device
unknown:
FPU
DMA controller
PIC
Keyboard controller
Realtek RTL8411B PCI Express Card Reader
Intel Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
Intel Cannon Lake PCH HECI Controller
Intel Cannon Lake PCH SPI Controller
Intel Cannon Lake PCH Thermal Controller
Intel Cannon Lake PCH Shared SRAM
Intel Cannon Lake PCH SMBus Controller
LighTuning EgisTec_ES603
Acer BisonCam, NB Pro
Apple iPhone5/5C/5S/6

AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

WHY

Running aucc -c green -b 4, I got:

Traceback (most recent call last):
  File "/usr/local/bin/aucc", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/aucc/main.py", line 86, in main
    control = ControlCenter(vendor_id=0x048d, product_id=0xce00)
  File "/usr/local/lib/python3.5/dist-packages/aucc/main.py", line 37, in __init__
    super(ControlCenter, self).__init__(vendor_id, product_id)
  File "/usr/local/lib/python3.5/dist-packages/aucc/core/handler.py", line 50, in __init__
    super(DeviceHandler, self).__init__(vendor_id, product_id)
  File "/usr/local/lib/python3.5/dist-packages/aucc/core/handler.py", line 16, in __init__
    self._device = self._get_device(vendor_id, product_id)
  File "/usr/local/lib/python3.5/dist-packages/aucc/core/handler.py", line 27, in _get_device
    if device.is_kernel_driver_active(1):
AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

Setting alternating colors does not light up all keys, if a style was used previously

Hi there :)

As an average user, I tried setting -H or -V after using e.g. -s marquee (or aurora) and was surprised that not all keys lit up. Instead, the effect style continued. Maybe this is intentional (so you can have a marquee in alternated colors). If that's the case, then please just close the Issue. :)

If not, then maybe a self.adjust_brightness() inside h_alt_color_setup and v_alt_color_setup would help? Not sure if the firmware uses brightness for marquee and aurora effects, but doing a sudo aucc -c pink before a sudo aucc -H teal pink does the trick so something in control.mono_color_setup(parsed.color) must be doing the necessary fixing.

pcspecialist Ionico 17 and manjaro

Not working , and no errors when I try the command "sudo aucc -c red -b 4 " but the keyboard backlight are not working , i am using manjaro linux.
in dmesg I have this message:
1189.447145] atkbd serio0: Unknown key pressed (translated set 2, code 0xf8 on isa0060/serio0).
[ 1189.447157] atkbd serio0: Use 'setkeycodes e078 ' to make it known.
[ 1190.390907] atkbd serio0: Unknown key released (translated set 2, code 0xf8 on isa0060/serio0).
[ 1190.390919] atkbd serio0: Use 'setkeycodes e078 ' to make it known.
(END)

Add support for Avell C73 (Clevo PA70ES)

Hello.
I'd like to request support for the laptop Avell C73. What info I need to provide to make this possible?

cat /sys/class/dmi/id/modalias
dmi:bvnAmericanMegatrendsInc.:bvr1.07.08:bd08/23/2018:svnNotebook:pnC73:pvrNotApplicable:rvnNotebook:rnPA70ES:rvrNotApplicable:cvnNoEnclosure:ct10:cvrN/A:

And when I try to use aucc I get this error: AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

Thanks.

doesn't seem to change for me..

hwinfo --short

Integrated Technology Express ITE Device(8291)

when inputting

aucc -c blue -b 4

it runs with no errors but nothing changes, even after a reboot

Creating systemd integration to set desired color scheme at boot time

The default blue backlight colors are loaded on boot. Any changes applied through the aucc command are not permanent.

Since elevated privileges are necessary to communicate with the USB controller, placing an aucc script in your Desktop environment's start folder (e.g. .config/autostart-scripts/) is not comfortable, since you will be prompted for your sudo password each time your display manager starts up plasma or gnome (or whichever environment you prefer).

Instead, the following should happen:

  • The GUI or command line tool writes the desired color scheme (or aucc parameters) into a system configuration file, like /etc/aucc.conf.
  • A systemd service is created and enabled for auto-start during boot, which runs aucc with root privileges, applying the color scheme from /etc/aucc.conf to the USB keyboard controller.

Stop backlight from turning off after a set time

Hi guys, after using this driver for a while I noticed that the backlight turns off after a set amount of time without any activity on the the keyboard. Is there any way to turn this off? Currently running the driver on Ubuntu 20.04.1 LTS. Thanks in advance!

[Errno 13] Insufficient permissions on macOS

I am running macos on a Hackintosh Overpowered 17+ laptop having the rev0.03 ITE 8291, but I get this error when trying to run, say, sudo aucc -d:

sh-3.2# sudo aucc -d
Traceback (most recent call last):
File "/usr/local/bin/aucc", line 33, in
sys.exit(load_entry_point('avell-unofficial-control-center==1.0.3', 'console_scripts', 'aucc')())
File "/usr/local/lib/python3.8/site-packages/avell_unofficial_control_center-1.0.3-py3.8.egg/aucc/main.py", line 190, in main
File "/usr/local/lib/python3.8/site-packages/avell_unofficial_control_center-1.0.3-py3.8.egg/aucc/main.py", line 108, in disable_keyboard
File "/usr/local/lib/python3.8/site-packages/avell_unofficial_control_center-1.0.3-py3.8.egg/aucc/core/handler.py", line 57, in ctrl_write
File "/usr/local/lib/python3.8/site-packages/usb/core.py", line 1068, in ctrl_transfer
self._ctx.managed_claim_interface(self, interface_number)
File "/usr/local/lib/python3.8/site-packages/usb/core.py", line 113, in wrapper
return f(self, *args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/usb/core.py", line 178, in managed_claim_interface
self.backend.claim_interface(self.handle, i)
File "/usr/local/lib/python3.8/site-packages/usb/backend/libusb1.py", line 829, in claim_interface
_check(self.lib.libusb_claim_interface(dev_handle.handle, intf))
File "/usr/local/lib/python3.8/site-packages/usb/backend/libusb1.py", line 604, in _check
raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 13] Access denied (insufficient permissions)

Shouldldn't the Elevate thingy solve this issue? I do not know why it doesn't work :(.

[Improvement] Automatically get the correct device_id and product_id before creating the ControlCenter object

At first this software didn't work on my laptop (TongFang GM5ZG7W) until I looked at the code and realized it used a different product_id at this line in the main method :

control = ControlCenter(vendor_id=0x048d, product_id=0xce00)

Using lsusb, I found that the product_id for my laptop is not 0xce00, but 0x6004:
Bus 003 Device 005: ID 048d:6004 Integrated Technology Express, Inc. ITE Device(8291)

Changing this parameter made the script work.

This seems to be a common problem for many people (#55, #48, #44, #20).

A way to fix this would be to automatically find the correct device_id and product_id, which shouldn't be that hard to implement. The show_devices() method from PyUSB doesn't seem to be able to get the correct description, but lsusb has no problem finding ITE Device(8291). You could make a function that enumerates all lines generated by lsusb, and then get the device_id and product_id from the line containing the ITE Device(8291) string.

AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

rafael@a52mob:~$ aucc 
Traceback (most recent call last):
  File "/usr/local/bin/aucc", line 33, in <module>
    sys.exit(load_entry_point('avell-unofficial-control-center==1.0.4', 'console_scripts', 'aucc')())
  File "/usr/local/lib/python3.9/dist-packages/avell_unofficial_control_center-1.0.4-py3.9.egg/aucc/main.py", line 166, in main
  File "/usr/local/lib/python3.9/dist-packages/avell_unofficial_control_center-1.0.4-py3.9.egg/aucc/main.py", line 104, in __init__
  File "/usr/local/lib/python3.9/dist-packages/avell_unofficial_control_center-1.0.4-py3.9.egg/aucc/core/handler.py", line 50, in __init__
  File "/usr/local/lib/python3.9/dist-packages/avell_unofficial_control_center-1.0.4-py3.9.egg/aucc/core/handler.py", line 16, in __init__
  File "/usr/local/lib/python3.9/dist-packages/avell_unofficial_control_center-1.0.4-py3.9.egg/aucc/core/handler.py", line 27, in _get_device
AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'
rafael@a52mob:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 046d:c092 Logitech, Inc. G203 LIGHTSYNC Gaming Mouse
Bus 001 Device 003: ID 8087:0026 Intel Corp. 
Bus 001 Device 002: ID 04f2:b71a Chicony Electronics Co., Ltd HD Webcam
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
rafael@a52mob:~$ sudo hwinfo --keyboard
29: PS/2 00.0: 10800 Keyboard                                   
  [Created at input.226]
  Unique ID: 9ui9.+49ps10DtUF
  Hardware Class: keyboard
  Model: "AT Translated Set 2 keyboard"
  Vendor: 0x0001 
  Device: 0x0001 "AT Translated Set 2 keyboard"
  Compatible to: int 0x0211 0x0001
  Device File: /dev/input/event3
  Device Files: /dev/input/event3, /dev/input/by-path/platform-i8042-serio-0-event-kbd
  Device Number: char 13:67
  Driver Info #0:
    XkbRules: xfree86
    XkbModel: pc104
  Config Status: cfg=new, avail=yes, need=no, active=unknown
rafael@a52mob:~$ 

Changes are not saving

Hi,

I haven't had time to fully investigate this yet, but from the little I have done it appears as though the option to save changes is not functioning on my laptop.

Machine:

PC Specialist product: Recoil III
TongFang model: GK7CP7S
UEFI BIOS: American Megatrends v: N.1.03

Keyboard model:

Keyboard:
  /dev/input/event21   MosArt 2.4G Keyboard Mouse
                       Integrated Technology Express ITE Device(8291)
  /dev/input/event5    AT Translated Set 2 keyboard

My BIOS settings have options for other styles to start in, but I've tried to set this to "disabled", and it defaults back to the wave style, which is what ends up sticking after a reboot. I've tried setting -V, -H and various named styles, none of which persist after a reboot. It is entirely possible that my BIOS is the issue here.

I don't know if anyone else is experiencing a similar issue. When I do get time I'll attempt to do some more digging.

Error to install

Hello rodgomesc, in my pc have a erro to install "command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-6ctkhuga/pyusb" please help to pay a coffe, ajuda ae.

Keys turn off simultaneously on reactive style

When using reactive style and pressing keys from a bottom line to a top line, keys are turned off simultaneously and not with pattern pressed.

Eg: If you press n h u they light on pattern but turn off simultaneously. If you press u h n they light and turn off with same behaviour.

is_kernel_driver_active

Hi i tried to install this on my PC, I have built-in keyboard in laptop, but i'm getting traceback like this.

Traceback

  File "/usr/local/bin/aucc", line 11, in <module>
    load_entry_point('avell-unofficial-control-center==1.0.4', 'console_scripts', 'aucc')()
  File "/usr/local/lib/python3.6/dist-packages/avell_unofficial_control_center-1.0.4-py3.6.egg/aucc/main.py", line 165, in main
  File "/usr/local/lib/python3.6/dist-packages/avell_unofficial_control_center-1.0.4-py3.6.egg/aucc/main.py", line 104, in __init__
  File "/usr/local/lib/python3.6/dist-packages/avell_unofficial_control_center-1.0.4-py3.6.egg/aucc/core/handler.py", line 50, in __init__
  File "/usr/local/lib/python3.6/dist-packages/avell_unofficial_control_center-1.0.4-py3.6.egg/aucc/core/handler.py", line 16, in __init__
  File "/usr/local/lib/python3.6/dist-packages/avell_unofficial_control_center-1.0.4-py3.6.egg/aucc/core/handler.py", line 27, in _get_device
AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'  File "/usr/local/bin/aucc", line 11, in <module>
    load_entry_point('avell-unofficial-control-center==1.0.4', 'console_scripts', 'aucc')()
  File "/usr/local/lib/python3.6/dist-packages/avell_unofficial_control_center-1.0.4-py3.6.egg/aucc/main.py", line 165, in main
  File "/usr/local/lib/python3.6/dist-packages/avell_unofficial_control_center-1.0.4-py3.6.egg/aucc/main.py", line 104, in __init__
  File "/usr/local/lib/python3.6/dist-packages/avell_unofficial_control_center-1.0.4-py3.6.egg/aucc/core/handler.py", line 50, in __init__
  File "/usr/local/lib/python3.6/dist-packages/avell_unofficial_control_center-1.0.4-py3.6.egg/aucc/core/handler.py", line 16, in __init__
  File "/usr/local/lib/python3.6/dist-packages/avell_unofficial_control_center-1.0.4-py3.6.egg/aucc/core/handler.py", line 27, in _get_device
AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

Adjusting the animation speed

I'm not a Python Developer so I'm not sure how to to it to make a proper pull request...
Looks like one of the settings is "speed", and it would be nice to be able to select the speed also with the style.
I just replaced the default 0x05 to 0x04 and that solved what I wanted... but seems a good idea to create an argument for that... I was trying with -d / --delay but don't really know how to pas the arg (4 to replaced to 0x04, or something like that)...

Anyway, great work !! Being able to handle the rgb keyboard on my Avell notebook in Linux is great!

Advertise this wonderful project

These are follow-up ideas after reading #3.

  1. The README should read all the different laptop models gaining such a huge improvement in linux support. This will help people find you via search engines.
  • Tongfang GK5CN5Z / GK5CN6Z / GK5CQ7Z / GK5CP0Z (Barebone)
  • Schenker XMG Neo 15 (German reseller)
  • PCSpecialist Recoil II (UK reseller)
  • Some OverPowered laptop model?
  • Some Walmart laptop model.
  1. Make the project known in this thread:
    http://forum.notebookreview.com/threads/tongfang-gk5cn5z-gk5cn6z-gk5cq7z-gk5cp0z.815943/

  2. Maybe get in contact with this dude who wrote an alternative control center for windows (and WIP for linux??) in C#:
    http://forum.notebookreview.com/members/lkinder_bueno.704614/
    Maybe there's some collaboration options?

  3. Get in contact with XMG Schenker and let them add notes about linux support in their help sections and knowledge base:

`--style rainbow` switches the keyboard lights off

Hi,

first of all, thank you so much for developing this app!

I'm having an XMG Neo 15 = Tongfang GK5ZP0Z.
Almost all functions of the control center alpha work perfectly.
However, the style rainbow is simply switching off the backlights. I tried passing a brightness parameter with it, but that did not help.

What can I try? Is there a chance the rainbow light_style should have a different array of values (0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) on my hardware? (All other stuff appears to be the same, as the CC works well - maybe there's different versions with slight differences? The XMG Neo 15 2019 version uses special "silent switches" - maybe the rgb controller got an update?)

Trying to debug with PyCharm, I get stuck at elevate(), where the connection to the debugger is dropped. How do you debug this? Are you using a local sudo python interpreter proxy script?
Sorry, I'm mostly doing ECMAScript and PHP - Python is something I'd like to get more acquainted with.

Fails to install: "ValueError: bad marshal data (unknown type code)"

Here's what happened previously:

Pull

$ git pull
Aktualisiere d881ad2..371587e
Fast-forward
 README.md    |  61 +++++++--------------------------------------------
 aucc/main.py | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------
 setup.py     |   9 ++++----
 3 files changed, 197 insertions(+), 74 deletions(-)

So I'm now on 371587e.

Build

# python3 setup.py build
running build
running build_py
running egg_info
writing avell_unofficial_control_center.egg-info/PKG-INFO
writing dependency_links to avell_unofficial_control_center.egg-info/dependency_links.txt
writing entry points to avell_unofficial_control_center.egg-info/entry_points.txt
writing requirements to avell_unofficial_control_center.egg-info/requires.txt
writing top-level names to avell_unofficial_control_center.egg-info/top_level.txt
reading manifest file 'avell_unofficial_control_center.egg-info/SOURCES.txt'
writing manifest file 'avell_unofficial_control_center.egg-info/SOURCES.txt'

Install (fails)

# python3 setup.py install
running install
running bdist_egg
running egg_info
writing avell_unofficial_control_center.egg-info/PKG-INFO
writing dependency_links to avell_unofficial_control_center.egg-info/dependency_links.txt
writing entry points to avell_unofficial_control_center.egg-info/entry_points.txt
writing requirements to avell_unofficial_control_center.egg-info/requires.txt
writing top-level names to avell_unofficial_control_center.egg-info/top_level.txt
reading manifest file 'avell_unofficial_control_center.egg-info/SOURCES.txt'
writing manifest file 'avell_unofficial_control_center.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/aucc
copying build/lib/aucc/__init__.py -> build/bdist.linux-x86_64/egg/aucc
creating build/bdist.linux-x86_64/egg/aucc/core
copying build/lib/aucc/core/__init__.py -> build/bdist.linux-x86_64/egg/aucc/core
copying build/lib/aucc/core/handler.py -> build/bdist.linux-x86_64/egg/aucc/core
creating build/bdist.linux-x86_64/egg/aucc/core/__pycache__
copying build/lib/aucc/core/__pycache__/__init__.cpython-37.pyc -> build/bdist.linux-x86_64/egg/aucc/core/__pycache__
copying build/lib/aucc/core/__pycache__/handler.cpython-37.pyc -> build/bdist.linux-x86_64/egg/aucc/core/__pycache__
copying build/lib/aucc/core/__pycache__/colors.cpython-37.pyc -> build/bdist.linux-x86_64/egg/aucc/core/__pycache__
copying build/lib/aucc/core/colors.py -> build/bdist.linux-x86_64/egg/aucc/core
creating build/bdist.linux-x86_64/egg/aucc/db
copying build/lib/aucc/db/__init__.py -> build/bdist.linux-x86_64/egg/aucc/db
creating build/bdist.linux-x86_64/egg/aucc/ui
copying build/lib/aucc/ui/__init__.py -> build/bdist.linux-x86_64/egg/aucc/ui
creating build/bdist.linux-x86_64/egg/aucc/res
creating build/bdist.linux-x86_64/egg/aucc/res/icons
copying build/lib/aucc/res/icons/tux.png -> build/bdist.linux-x86_64/egg/aucc/res/icons
creating build/bdist.linux-x86_64/egg/aucc/__pycache__
copying build/lib/aucc/__pycache__/__init__.cpython-37.pyc -> build/bdist.linux-x86_64/egg/aucc/__pycache__
creating build/bdist.linux-x86_64/egg/aucc/tests
copying build/lib/aucc/tests/main.py -> build/bdist.linux-x86_64/egg/aucc/tests
copying build/lib/aucc/main.py -> build/bdist.linux-x86_64/egg/aucc
byte-compiling build/bdist.linux-x86_64/egg/aucc/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/aucc/core/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/aucc/core/colors.py to colors.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/aucc/core/handler.py to handler.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/aucc/db/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/aucc/main.py to main.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/aucc/tests/main.py to main.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/aucc/ui/__init__.py to __init__.cpython-38.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying avell_unofficial_control_center.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying avell_unofficial_control_center.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying avell_unofficial_control_center.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying avell_unofficial_control_center.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying avell_unofficial_control_center.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying avell_unofficial_control_center.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
Traceback (most recent call last):
  File "setup.py", line 17, in <module>
    setup(
  File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib64/python3.8/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib64/python3.8/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/usr/lib64/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.8/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/usr/lib/python3.8/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/usr/lib64/python3.8/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib64/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 220, in run
    os.path.join(archive_root, 'EGG-INFO'), self.zip_safe()
  File "/usr/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 273, in zip_safe
    return analyze_egg(self.bdist_dir, self.stubs)
  File "/usr/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 383, in analyze_egg
    safe = scan_module(egg_dir, base, name, stubs) and safe
  File "/usr/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 422, in scan_module
    code = marshal.load(f)
ValueError: bad marshal data (unknown type code)

Python 3.8

# python3 --version
Python 3.8.2

Any clue about ValueError: bad marshal data (unknown type code) ?

Attempts

1

I did try # find /usr -name '*.pyc' -delete and build+install again, but failed.
(Turned out this was possibly a bad idea. Don't do that! Non-root users cannot re-create pyc files so stuff will run slower for everyone. Learn from my mistake and read before you delete "cache files" that cannot all that easily be rebuilt.)

2

I tried updating setuptools: pip install -U setuptools, but rebuild+install of aucc still failed.

# pip install -U setuptools
Collecting setuptools
  Downloading setuptools-46.0.0-py3-none-any.whl (582 kB)
     |████████████████████████████████| 582 kB 1.4 MB/s 
Installing collected packages: setuptools
  Attempting uninstall: setuptools
    Found existing installation: setuptools 44.0.0
    Uninstalling setuptools-44.0.0:
      Successfully uninstalled setuptools-44.0.0
Successfully installed setuptools-46.0.0

3

Re-check requirements - but already up to date:

# pip install -Ur requirements.txt
Requirement already up-to-date: pyusb==1.0.2 in /usr/local/lib/python3.8/site-packages (from -r requirements.txt (line 1)) (1.0.2)
Requirement already up-to-date: elevate==0.1.3 in /usr/local/lib/python3.8/site-packages (from -r requirements.txt (line 2)) (0.1.3)

ModuleNotFoundError: No module named 'core'

sudo aucc -c green -b 4 Traceback (most recent call last): File "/usr/local/bin/aucc", line 6, in <module> from aucc.main import main File "/home/bruno/.local/lib/python3.7/site-packages/aucc/main.py", line 11, in <module> from core.handler import DeviceHandler ModuleNotFoundError: No module named 'core'

AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

Hi

I have a TongFang GM5MPHW. After installing your control center I was presented with this error :

Traceback (most recent call last): File "/usr/local/bin/aucc", line 8, in <module> sys.exit(main()) File "/usr/local/lib/python3.8/dist-packages/aucc/main.py", line 86, in main control = ControlCenter(vendor_id=0x048d, product_id=0xce00) File "/usr/local/lib/python3.8/dist-packages/aucc/main.py", line 37, in __init__ super(ControlCenter, self).__init__(vendor_id, product_id) File "/usr/local/lib/python3.8/dist-packages/aucc/core/handler.py", line 50, in __init__ super(DeviceHandler, self).__init__(vendor_id, product_id) File "/usr/local/lib/python3.8/dist-packages/aucc/core/handler.py", line 16, in __init__ self._device = self._get_device(vendor_id, product_id) File "/usr/local/lib/python3.8/dist-packages/aucc/core/handler.py", line 27, in _get_device if device.is_kernel_driver_active(1): AttributeError: 'NoneType' object has no attribute 'is_kernel_driver_active'

Having checked hwinfo --short I get :

keyboard:  Integrated Technology Express ITE Device(8291)

Also checking lshw I get :

*-usb:1 UNCLAIMED
description: Keyboard
product: ITE Device(8291)
vendor: ITE Tech. Inc.
physical id: 6
bus info: usb@1:6
version: 0.03
capabilities: usb-2.00
configuration: maxpower=100mA speed=12Mbit/s

So it would appear that my keyboard is indeed compatible.

The answer lies in this error line :

control = ControlCenter(vendor_id=0x048d, product_id=0xce00)

Running lsusb shows :

Bus 001 Device 003: ID 048d:6004 Integrated Technology Express, Inc. ITE Device(8291)

Which as you can see has a different product id. Once I knew this I looked into the main.py file and found that the product id - 0xce00 is hardcoded, as soon as I changed this to 6004 then ran aucc -c green everything worked.

It would seem that there maybe a product id change for the manufacturer under the same product revision - which seems weird, but may account why other users might seem to have the correct hardware, but are getting this error.

add aucc to run at startuup doesnt work

just as the title states, it doesnt seem to work for me. after i create the config file, and then go to chmod 77 the aucc.service, all i get is this error:
dps@vulcan:~$ chmod 777 aucc.service chmod: cannot access 'aucc.service': No such file or directory

i installed this via the "easy" method, with pip3. i tried finding the actual package in my system (avell-unofficial-control-center), with pip3 show, and it returned a result that says that its in my /usr/local/lib/python3.6/dist-packages, but when i go to look in that directory, there isnt even a dist-packages directory lol.

Ubuntu 18.04.3
Vulcan JinGang GTX Standard (laptop)
attached is my results for hwinfo
hwinfo.txt

i dont know if that helps or not,
hope this reaches you well.

[Question] mapping the Fn key

Hi, thank you for this great project.

I had a question about these keyboards, and since you are more intimately familiar with them perhaps you could steer me in the right direction.

On Windows the Fn key maps to a key code that autohotkey can make mappings with.

For example, I have this to make Fn + Down be my media play/pause key:

https://gist.github.com/rkitover/0d9cd84b93f873c13034196c132d7d4f

when I use xev in gnome to see if there is any reaction to the Fn key on linux, there is none.

I wonder where I start in the layers of the linux desktop to generate a key code for this key on this hardware.

Also just tried something else, I did a cat /dev/input/event0 which is the device node for the keyboard on my laptop, and pressing the Fn key DID generate activity from the device node.

Any suggestions greatly appreciated!

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.