ノートブックを開く/閉じるキーイベントスキャンが機能しない

ノートブックを開く/閉じるキーイベントスキャンが機能しない

Void-LinuxとWaylandデスクトップ環境を備えたノートパソコンがあります。ノートブックのオープン/クローズイベントをカスタムコマンドにバインドしようとしていますが、ここでメインイベントを取得することはできません。 Wayland環境ではなくコンソールshowkey --scancodesで試してみましたがshowkey --keycodes、ノートブックを開いたり閉じたりしても何も表示されません。オープン/クローズイベントを正しくスキャンしたり、Waylandにバインドするにはどうすればよいですか?

PS:私はラップトップモードツールのような複雑なツールをインストールしたくありません(可能であれば)。開く/閉じるときに非常に原始的なbashスクリプトを実行するだけです。

ベストアンサー1

回避策として、@peregrino69アノテーションに基づいてスクリプトを作成しました。このスクリプトは毎秒 LID 状態を読み込み、/proc/acpi/button/lid/LID0/state状態が変わるとコールバック関数を実行します。

#!/bin/bash

_state="open"

function on_state_open {
  # run commands on open
}

function on_state_close {
  # run commands on close
}

function on_state_change {
  local update="$1"
  local change=false
  if [[ "${_state}" != "$update" ]]; then
    change=true
  fi
  _state="$update"
  if $change; then
    case "${_state}" in
      "open")
        on_state_open
        ;;
      "closed")
        on_state_close
        ;;
    esac
  fi
}

while true; do
  snapshot=$(cat /proc/acpi/button/lid/LID0/state | awk -d' ' '{print $2}')
  on_state_change "$snapshot"
  sleep 1
done

おすすめ記事