How do I set the brightness increment when using the brightness key

ThinkPad T450 laptop

I can change the brightness with command echo 2 | sudo tee /sys/class/backlight/intel_backlight/brightness

The default increment in garuda when using the brightness key is 5% or increments of 50, and I want to change the increment to 2 instead.

Is there a way to change the brightness increments when using the brightness keys?

Keyboard media key function is typically set up by the hardware manufacturer, in a way that interfaces with firmware. The function of these keys is not really up to Garuda, or any OS for that matter.

Sometimes a manufacturer will incorporate a user-accessible interface for exposing or manipulating these firmware components so custom key mappings, etc can be set (this is a feature of System76 hardware, for example), but that is uncommon. Typically you get what you get.

Regarding your specific hardware (or perhaps a similar model), Lenovo Community Senior Mod Rich says (essentially) no, you can't change this: English Community-Lenovo Community

Your best bet will be to write up a script changing the brightness with the terminal-accessible settings you mentioned, and assign the functions of the script to custom keyboard shortcuts.


I have to disagree that the increment is up to the hardware.

On vanilla arch using the i3 desktop environment, I could use the /etc/i3/config file to change the keyboard configuration and rebind the brightness keys to run brightnssctl. So I'm pretty sure its not something thats hard coded into the laptop, or at least I know it can be reconfigured.

I'm gonna have to try using something like xbindkeys, but what ever method garuda uses seems to override thebrightnessctl command.

ArchWiki / KeyboardShortcuts

I was hoping garuda had a similar kind of config file or some easy way to reconfigure this setting. The appeal of Arch is supposed to be is supposed to be highly configurable. If the desktop environment gets in the way of this then that is disappointing.

Missing your garuda-inxi.

1 Like
# garuda-inxi --help
  Kernel: 6.0.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=952eaeec-7025-4a75-845b-9396911526a6 rw [email protected]
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    resume=UUID=fdc5ecaf-2802-4a71-9089-200bfcfa40a3 loglevel=3
    mitigations=off sysrq_always_enabled=1 systemd.unified_cgroup_hierarchy=1
  Desktop: KDE Plasma v: 5.26.0 tk: Qt v: 5.15.6 wm: kwin_x11 vt: 1
    dm: SDDM Distro: Garuda Linux base: Arch Linux
  Type: Laptop System: LENOVO product: 20BU000AUS v: ThinkPad T450
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: LENOVO model: 20BU000AUS v: SDK0E50510 WIN
    serial: <superuser required> UEFI-[Legacy]: LENOVO v: JBET73WW (1.37 )
    date: 08/14/2019
  ID-1: BAT0 charge: 17.2 Wh (97.7%) condition: 17.6/23.5 Wh (75.0%)
    volts: 12.4 min: 11.4 model: LGC 45N1113 type: Li-ion serial: <filter>
    status: not charging
  ID-2: BAT1 charge: 18.4 Wh (100.0%) condition: 18.4/23.2 Wh (79.1%)
    volts: 12.3 min: 11.1 model: SANYO 45N1775 type: Li-ion serial: <filter>
    status: full
  Info: model: Intel Core i5-5300U bits: 64 type: MT MCP arch: Broadwell
    gen: core 5 level: v3 note: check built: 2015-18 process: Intel 14nm
    family: 6 model-id: 0x3D (61) stepping: 4 microcode: 0x2F
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 128 KiB desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB desc: 2x256 KiB
    L3: 3 MiB desc: 1x3 MiB
  Speed (MHz): avg: 2694 min/max: 500/2900 scaling: driver: intel_cpufreq
    governor: schedutil cores: 1: 2694 2: 2694 3: 2694 4: 2694 bogomips: 18359
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf mitigation: PTE Inversion; VMX: vulnerable
  Type: mds status: Vulnerable; SMT vulnerable
  Type: meltdown status: Vulnerable
  Type: mmio_stale_data status: Unknown: No mitigations
  Type: retbleed status: Not affected
  Type: spec_store_bypass status: Vulnerable
  Type: spectre_v1 status: Vulnerable: __user pointer sanitization and
    usercopy barriers only; no swapgs barriers
  Type: spectre_v2 status: Vulnerable, IBPB: disabled, STIBP: disabled,
    PBRSB-eIBRS: Not affected
  Type: srbds status: Vulnerable
  Type: tsx_async_abort status: Vulnerable
  Device-1: Intel HD Graphics 5500 vendor: Lenovo driver: i915 v: kernel
    arch: Gen-8 process: Intel 14nm built: 2014-15 ports: active: eDP-1
    empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:1616
    class-ID: 0300
  Device-2: Lite-On Integrated Camera type: USB driver: uvcvideo
    bus-ID: 2-8:4 chip-ID: 04ca:703c class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.3
    compositor: kwin_x11 driver: X: loaded: modesetting
    alternate: fbdev,intel,vesa dri: iris gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1600x900 s-dpi: 96 s-size: 423x238mm (16.65x9.37")
    s-diag: 485mm (19.11")
  Monitor-1: eDP-1 model: AU Optronics 0x303e built: 2012 res: 1600x900
    hz: 60 dpi: 132 gamma: 1.2 size: 309x174mm (12.17x6.85") diag: 355mm (14")
    ratio: 16:9 modes: 1600x900
  OpenGL: renderer: Mesa Intel HD Graphics 5500 (BDW GT2) v: 4.6 Mesa
    22.2.1 direct render: Yes
  Device-1: Intel Broadwell-U Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel bus-ID: 00:03.0 chip-ID: 8086:160c class-ID: 0403
  Device-2: Intel Wildcat Point-LP High Definition Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:9ca0
    class-ID: 0403
  Sound API: ALSA v: k6.0.1-zen1-1-zen running: yes
  Sound Server-1: PulseAudio v: 16.1 running: no
  Sound Server-2: PipeWire v: 0.3.59 running: yes
  Device-1: Intel Ethernet I218-LM vendor: Lenovo driver: e1000e v: kernel
    port: 3080 bus-ID: 00:19.0 chip-ID: 8086:15a2 class-ID: 0200
  IF: enp0s25 state: down mac: <filter>
  Device-2: Intel Wireless 7265 driver: iwlwifi v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 bus-ID: 03:00.0 chip-ID: 8086:095b class-ID: 0280
  IF: wlan0 state: up mac: <filter>
  IF-ID-1: anbox0 state: down mac: <filter>
  IF-ID-2: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A
  Device-1: Intel Bluetooth wireless interface type: USB driver: btusb v: 0.8
    bus-ID: 2-7:3 chip-ID: 8087:0a2a class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 5 state: up address: <filter>
  Local Storage: total: 238.47 GiB used: 108.08 GiB (45.3%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Silicon Power model: SPCC Solid State
    Disk size: 238.47 GiB block-size: physical: 512 B logical: 512 B
    speed: 6.0 Gb/s type: SSD serial: <filter> rev: 91.3 scheme: MBR
  ID-1: / raw-size: 229.67 GiB size: 229.67 GiB (100.00%) used: 108.08 GiB
    (47.1%) fs: btrfs dev: /dev/sda1 maj-min: 8:1
  ID-2: /home raw-size: 229.67 GiB size: 229.67 GiB (100.00%) used: 108.08
    GiB (47.1%) fs: btrfs dev: /dev/sda1 maj-min: 8:1
  ID-3: /var/log raw-size: 229.67 GiB size: 229.67 GiB (100.00%) used: 108.08
    GiB (47.1%) fs: btrfs dev: /dev/sda1 maj-min: 8:1
  ID-4: /var/tmp raw-size: 229.67 GiB size: 229.67 GiB (100.00%) used: 108.08
    GiB (47.1%) fs: btrfs dev: /dev/sda1 maj-min: 8:1
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 7.47 GiB used: 2.68 GiB (35.9%)
    priority: 100 dev: /dev/zram0
  ID-2: swap-2 type: partition size: 8.8 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/sda2 maj-min: 8:2
  System Temperatures: cpu: 74.0 C pch: 59.0 C mobo: N/A
  Fan Speeds (RPM): fan-1: 4034
  Processes: 256 Uptime: 4d 10h 24m wakeups: 4 Memory: 7.47 GiB used: 3.81
  GiB (51.0%) Init: systemd v: 251 default: graphical tool: systemctl
  Compilers: gcc: 12.2.0 clang: 14.0.6 Packages: pm: pacman pkgs: 1929
  libs: 384 tools: aura,octopi,paru Shell: fish v: 3.5.1 running-in: tilix
  inxi: 3.3.22
Garuda (2.6.8-1):
  System install date:     2022-10-04
  Last full system update: 2022-10-18 ↻
  Is partially upgraded:   No
  Relevant software:       NetworkManager
  Windows dual boot:       <superuser required>
  Snapshots:               Snapper
  Failed units:            archlinux-keyring-wkd-sync.service systemd-networkd-wait-online.service 

You are conflating the distribution with the desktop environment. Garuda offers an i3 spin as well, where my guess is you would find a familiar set of configuration options. KDE is completely different, and becoming familiar with the nuances of its configuration is not trivial.

I don't know the mechanism behind this, but my guess would be udev. You could set up your own udev rule to accomplish this if you like, to override whatever the defaults are.

Your impression that Garuda has established a setting somewhere that determines what effect your media keys should have is incorrect.