You are not logged in.
Hi,
i have installed Arch on the Lenovo ThinkPad A485 with i3wm as window manager. So far I managed to make the basic stuff work except none of the function keys work. I know this is a configuration problem, since I they worked fine in a quick-and-dirty Antergos installation I previously had on the laptop for fast testing of hardware support.
Here's what I installed:
$pacman -Qe
autoconf 2.69-4
automake 1.15.1-1
bash 4.4.023-1
binutils 2.31.1-3
bison 3.0.5-1
bluez 5.50-3
bluez-utils 5.50-3
bzip2 1.0.6-8
coreutils 8.30-1
cryptsetup 2.0.4-1
device-mapper 2.02.181-1
dhcpcd 7.0.8-1
diffutils 3.6-1
dmenu 4.8-1
e2fsprogs 1.44.4-1
fakeroot 1.23-1
file 5.34-1
filesystem 2018.8-1
findutils 4.6.0-2
firefox 62.0-1
flex 2.6.4-1
gawk 4.2.1-1
gcc 8.2.1+20180831-1
gcc-libs 8.2.1+20180831-1
gettext 0.19.8.1-2
git 2.19.0-1
glibc 2.28-4
grep 3.1-1
gzip 1.9-1
htop 2.2.0-2
i3-wm 4.15-1
i3blocks 1.4-6
i3lock 2.10-1
i3status 2.12-1
inetutils 1.9.4-5
iproute2 4.18.0-1
iputils 20180629.f6aac8d-2
jfsutils 1.1.15-5
less 530-1
libtool 2.4.6+42+gb88cebd5-2
licenses 20171006-1
linux 4.18.9.arch1-1
logrotate 3.14.0-1
lvm2 2.02.181-1
m4 1.4.18-1
make 4.2.1-2
man-db 2.8.4-1
man-pages 4.16-2
mdadm 4.0-1
nano 3.0-2
netctl 1.18-1
pacman 5.1.1-1
patch 2.7.6-1
pciutils 3.6.1-1
perl 5.28.0-1
pkgconf 1.5.3-1
procps-ng 3.3.15-1
psmisc 23.1-1
reiserfsprogs 3.6.27-1
rxvt-unicode 9.22-7
s-nail 14.9.11-1
sed 4.5-1
shadow 4.6-1
sudo 1.8.25.p1-1
sysfsutils 2.1.0-10
systemd-sysvcompat 239.2-1
tar 1.30-1
texinfo 6.5-1
ttf-dejavu 2.37-2
usbutils 010-1
util-linux 2.32.1-2
vi 1:070224-3
which 2.21-2
wpa_supplicant 1:2.6-12
xfsprogs 4.17.0-1
xorg-server 1.20.1-1
xorg-xinit 1.4.0-3
xorg-xrandr 1.5.0-1Here's the output of dmesg concerning the thinkpad_acpi which I guess is handling the function keys:
$ dmesg | grep thinkpad_acpi
[ 11.170340] thinkpad_acpi: ThinkPad ACPI Extras v0.26
[ 11.170343] thinkpad_acpi: http://ibm-acpi.sf.net/
[ 11.170345] thinkpad_acpi: ThinkPad BIOS R0WET34W (1.02 ), EC unknown
[ 11.170347] thinkpad_acpi: Lenovo ThinkPad A485, model 20MU000CGE
[ 11.173966] thinkpad_acpi: radio switch found; radios are enabled
[ 11.173988] thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
[ 11.173988] thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
[ 11.281209] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one
[ 11.322555] thinkpad_acpi: battery 2 registered (start 95, stop 100)
[ 11.331096] thinkpad_acpi: battery 1 registered (start 95, stop 100)
[ 11.331213] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input10Using
xevI could verify that the function keys are all mapped to the appropriate XF86 commands:
KeyPress event, serial 28, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2921646, (-92,998), root:(552,1024),
state 0x0, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2921747, (-92,998), root:(552,1024),
state 0x0, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2924082, (-92,998), root:(552,1024),
state 0x0, keycode 122 (keysym 0x1008ff11, XF86AudioLowerVolume), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2924196, (-92,998), root:(552,1024),
state 0x0, keycode 122 (keysym 0x1008ff11, XF86AudioLowerVolume), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 28, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2924536, (-92,998), root:(552,1024),
state 0x0, keycode 123 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2924631, (-92,998), root:(552,1024),
state 0x0, keycode 123 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 28, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeyPress event, serial 28, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2924940, (-92,998), root:(552,1024),
state 0x0, keycode 198 (keysym 0x1008ffb2, XF86AudioMicMute), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2924940, (-92,998), root:(552,1024),
state 0x0, keycode 198 (keysym 0x1008ffb2, XF86AudioMicMute), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 29, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeyPress event, serial 29, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2925340, (-92,998), root:(552,1024),
state 0x0, keycode 232 (keysym 0x1008ff03, XF86MonBrightnessDown), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 29, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2925340, (-92,998), root:(552,1024),
state 0x0, keycode 232 (keysym 0x1008ff03, XF86MonBrightnessDown), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 30, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2925757, (-92,998), root:(552,1024),
state 0x0, keycode 233 (keysym 0x1008ff02, XF86MonBrightnessUp), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 30, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2925757, (-92,998), root:(552,1024),
state 0x0, keycode 233 (keysym 0x1008ff02, XF86MonBrightnessUp), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 30, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeyPress event, serial 30, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2926143, (-92,998), root:(552,1024),
state 0x0, keycode 235 (keysym 0x1008ff59, XF86Display), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 30, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2926143, (-92,998), root:(552,1024),
state 0x0, keycode 235 (keysym 0x1008ff59, XF86Display), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 31, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2926553, (-92,998), root:(552,1024),
state 0x0, keycode 246 (keysym 0x1008ff95, XF86WLAN), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 31, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2926553, (-92,998), root:(552,1024),
state 0x0, keycode 246 (keysym 0x1008ff95, XF86WLAN), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 31, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2926987, (-92,998), root:(552,1024),
state 0x0, keycode 179 (keysym 0x1008ff81, XF86Tools), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 31, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2926987, (-92,998), root:(552,1024),
state 0x0, keycode 179 (keysym 0x1008ff81, XF86Tools), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 31, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2927574, (-92,998), root:(552,1024),
state 0x0, keycode 245 (keysym 0x1008ff94, XF86Bluetooth), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 31, synthetic NO, window 0xc00001,
root 0x6fd, subw 0x0, time 2927574, (-92,998), root:(552,1024),
state 0x0, keycode 245 (keysym 0x1008ff94, XF86Bluetooth), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: FalseSo the problem is more specifically, that these XF86 keybinds to not trigger the appropriate response with the single exception of XF86WLAN which actually turns WLAN on and off, as it should.
How can I proceed from here?
Best regards
Last edited by teXnican (2018-09-22 09:34:44)
Offline
What have you configured to react to these buttons? As evident they are registered, but unless you configured a hotkey or some daemon that specifically listens to them, naturally they will not do anything. Read https://wiki.archlinux.org/index.php/I3#Keybindings an the relevant redirection links for further information.
Offline
Up to now I only managed to make the first three function keys for mute and volume up/down work via pulsaudio (not the LED on the mute button however):
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggleFor the backlight, setting it via ACPI seems to work well with a script like
#!/bin/bash
BRIGHTNESS=`cat /sys/class/backlight/amdgpu_bl0/actual_brightness`
MAX_BRIGHT=`cat /sys/class/backlight/amdgpu_bl0/max_brightness`
case "$1" in
up)
BRIGHTNESS=$((BRIGHTNESS + 32))
if [ $BRIGHTNESS -gt $MAX_BRIGHT ] ; then BRIGHTNESS=$MAX_BRIGHT ; fi
echo $BRIGHTNESS > /sys/class/backlight/amdgpu_bl0/brightness
;;
down)
BRIGHTNESS=$((BRIGHTNESS - 32))
if [ $BRIGHTNESS -lt 0 ] ; then BRIGHTNESS=0 ; fi
echo $BRIGHTNESS > /sys/class/backlight/amdgpu_bl0/brightness
;;
esacNo idea however what to map the bluetooth button to, which I need so desperatly for my mouse.
Edit: I have opened a thread specifically about turning the bluetooth module on, since this issue seems seperated from merely finding appropriate mappings for the function keys. I'll mark this as solved.
For future reference here the i3 configuration options
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute 1 toggle
# Backlight controls via ACPI
bindsym XF86MonBrightnessDown exec ~/.config/i3/scripts/acpi_brightness.sh down
bindsym XF86MonBrightnessUp exec ~/.config/i3/scripts/acpi_brightness.sh up$ cat .config/i3/scripts/acpi_brightness.sh
#!/bin/bash
BRIGHTNESS=`cat /sys/class/backlight/amdgpu_bl0/actual_brightness`
MAX_BRIGHT=`cat /sys/class/backlight/amdgpu_bl0/max_brightness`
case "$1" in
up)
BRIGHTNESS=$((BRIGHTNESS + 32))
if [ $BRIGHTNESS -gt $MAX_BRIGHT ] ; then BRIGHTNESS=$MAX_BRIGHT ; fi
echo $BRIGHTNESS > /sys/class/backlight/amdgpu_bl0/brightness
;;
down)
BRIGHTNESS=$((BRIGHTNESS - 32))
if [ $BRIGHTNESS -lt 0 ] ; then BRIGHTNESS=0 ; fi
echo $BRIGHTNESS > /sys/class/backlight/amdgpu_bl0/brightness
;;
esac$ cat /etc/udev/rules.d/backlight.rules
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="amdgpu_bl0", RUN+="/bin/chgrp video /sys/class/backlight/amdgpu_bl0/actual_brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="amdgpu_bl0", RUN+="/bin/chmod g+r /sys/class/backlight/amdgpu_bl0/actual_brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="amdgpu_bl0", RUN+="/bin/chgrp video /sys/class/backlight/amdgpu_bl0/max_brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="amdgpu_bl0", RUN+="/bin/chmod g+r /sys/class/backlight/amdgpu_bl0/max_brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="amdgpu_bl0", RUN+="/bin/chgrp video /sys/class/backlight/amdgpu_bl0/brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="amdgpu_bl0", RUN+="/bin/chmod g+w /sys/class/backlight/amdgpu_bl0/brightness"Add the user to the video group to enable him using the blacklight hotkeys.
Last edited by teXnican (2018-09-22 09:23:42)
Offline
rfkill?
Offline
No, the bluetooth module is not even listed with rfkill list.
Offline