06-24-2016, 11:30 PM
(This post was last modified: 06-24-2016, 11:54 PM by pfeerick.
Edit Reason: added on how I made the power button come to life
)
(06-24-2016, 02:15 PM)xalius Wrote: You can test if your powerbutton sends a keycode with evtest, the driver basically registers the button like another keyboard:
Code:ubuntu@pine64:~$ sudo apt-get install evtest Reading package lists... Done Building dependency tree Reading state information... Done evtest is already the newest version (1:1.33-1). 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. ubuntu@pine64:~$ sudo evtest No device specified, trying to scan all of /dev/input/event* Available devices: /dev/input/event0: sunxi-keyboard /dev/input/event1: axp81x-supplyer /dev/input/event2: sunxi-ths /dev/input/event3: audiocodec sunxi Audio Jack /dev/input/event4: sunxi_ir_recv /dev/input/event5: MCE IR Keyboard/Mouse (sunxi-rc-recv) Select the device event number [0-5]: 1 Input driver version is 1.0.1 Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100 Input device name: "axp81x-supplyer" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 116 (KEY_POWER) Event type 2 (EV_REL) Properties: Testing ... (interrupt to exit) Event: time 1466799328.888825, type 1 (EV_KEY), code 116 (KEY_POWER), value 1 Event: time 1466799328.888825, -------------- SYN_REPORT ------------ Event: time 1466799328.999256, type 1 (EV_KEY), code 116 (KEY_POWER), value 0 Event: time 1466799328.999256, -------------- SYN_REPORT ------------ Event: time 1466799329.630542, type 1 (EV_KEY), code 116 (KEY_POWER), value 1 Event: time 1466799329.630542, -------------- SYN_REPORT ------------ Event: time 1466799329.798206, type 1 (EV_KEY), code 116 (KEY_POWER), value 0 Event: time 1466799329.798206, -------------- SYN_REPORT ------------ ubuntu@pine64:~$
Thanks for that! Now I know my button is working!

So, next my next question is : Do you know any (simple!) way to get the pine64 to respond to it? I'm using debian, and would like to make it trigger a shutdown. I keeps seeing mention of xbindkeys seeming to be able to do this, but I want a headless machine to be able to do this, not one with X11.
Edit: So, after a little more digging, and coming across a wiki page about udev and sleep buttons, I sort of followed the instructions and ended up with this for a udev rule, and it works!
Code:
pfeerick@pine64:~$ more /etc/udev/rules.d/70-power-switch-my.rules
ACTION=="remove", GOTO="power_switch_my_end"
SUBSYSTEM=="input", KERNEL=="event1", ATTRS{name}=="axp81x-supplyer", TAG+="power-switch"
LABEL="power_switch_my_end"I then executed the following commands to freshen things up, and voila... pressing the power button causes the pine64 to instantly start shutting down! Now to see if I can make it trigger a delayed shutdown - say with 1 minutes grace...
Code:
sudo systemctl restart systemd-udevd
sudo udevadm trigger
sudo systemctl restart systemd-logindAs a side-note, connecting the battery can be annoying - when the battery is connected, when I tell the pine64 to poweroff / halt, it powers itself back up again.

