Usage & Problems

If you don't find your answer here, and if it seems to be an small problem, you can directly ask the question into the chat.

My computer is not supported, what can I do?

Check if there's a bug concerning your computer model on GitHub, and if it don't exists create one:

  1. Set the title of the bug as: "Add support to <model> Computer"
  2. Fill the general information of the bug (GNU/Linux distribution, python version etc)..
  3. Add the USB data of your computer:
    1. Open a terminal and execute the lsusb command:
      [rsm@m14xr1 ~]$ lsusb
      Bus 001 Device 004: ID 187c:0521 Alienware Corporation 
      Bus 001 Device 003: ID 413c:8187 Dell Computer Corp. DW375 Bluetooth Module
      Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
      Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
      Bus 002 Device 002: ID 25a7:fa23  
      Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    2. Find the line with the Alienware device and get the bus and device numbers:
      Bus 001 Device 004: ID 187c:0521 Alienware Corporation
    3. Execute the lsusb -D /dev/bus/usb/<bus>/<device> command:
      [rsm@m14xr1 ~]$ lsusb -D /dev/bus/usb/001/004
      Device: ID 187c:0521 Alienware Corporation 
      Couldn't open device, some information will be missing
      Device Descriptor:
        bLength                18
        bDescriptorType         1
        bcdUSB               1.10
        bDeviceClass            0 
        bDeviceSubClass         0 
        bDeviceProtocol         0 
        bMaxPacketSize0        64
        idVendor           0x187c Alienware Corporation

What will happen next?

  1. I'll take your Computer ID and Vendor ID and I'll create a configuration file into /usr/share/AKBL/computers/.
  2. I'll commit the changes and I'll request you to download it, install it and test it.
  3. I'll wait to have your feed back (everything works, there are some problems, etc..). Please be specific! and give me as much details as possible!

If after all that your computer is recognized and you have minor problems (Ex: left and right keyboard), I'll commit the fixes.

If some zones are not recognized, I'll ask you to launch the block testing window to find the appropriate hex values. Once the blocks found, I'll add them to the configuration file, and I'll commit the changes to the code.

How to use the block testing window?

  1. Execute as root akbl --block-testing.
  2. A window will appear and normally the ID Vendor and ID Product will be already filled. If not, akbl may not support your computer.
  3. Click, the Connect button, and the block testing block should be ready to be used.

The block testing will help you to find the hex id's of your keyboard by iterating one by one the different possible hex values. Normally, the only thing you need to do, is to change the Block Number combobox, and click the Test button.

When iterating over the block numbers, everything will be logged. Once that you have found an hex color of a zone, you can directly write the zone name. Here is an example:

Text File

[Device found]: Vendor ID: 6268	 Product ID: 1313

# This test turned on my left speaker
[Command]: Lights off
[TEST]: block: 32	 hex: 0x20	 mode:blink	 speed:1	 color1:#00ff00	 color2: #00ff00

# This test turned on the akbl logo    
[Command]: Lights off
[TEST]: block: 256	 hex: 0x100	 mode:blink	 speed:1	 color1:#00ff00	 color2: #00ff00 

After making changes to a theme the changes are not applied

For the moment the themes need to be saved before applying them. Any unsaved change will not be recognized by the daemon.

What's the function of the tempo button / clock icon / right-top corner button?

That button manages the speed of the theme in the following cases:

  • When the section of a theme (keyboard-left, keyboard-right, etc..) has multiple zones.
  • When some zone has the morph (gradient) mode.
  • When some zone has the blink mode.