клавиатура udev, повторно отображающаяся с hwdb для вторичных клавиатур

Можно сделать так:

#!/bin/bash

declare -A site=() theme=()

add_site() {
    local shortcut=$1
    site[$shortcut]=$2
    theme[$shortcut]=$3
}

while IFS= read -r line; do
    case "$line" in
    shortcut=*)
        # IFS== read -r __ shortcut <<< "$line"
        _shortcut=${line#*=}
        ;;
    site=*)
        # IFS== read -r __ site <<< "$line"
        _site=${line#*=}
        ;;
    theme=*)
        # IFS== read -r __ theme <<< "$line"
        _theme=${line#*=}
        add_site "$_shortcut" "$_site" "$_theme"
        ;;
    esac
done < file.ini

Вывод теста с добавлением эхо "$@" на функции:

x1 example1.com alpha
x2 example2.com beta
1
23.01.2019, 20:50
1 ответ

Сканкоды для USB-клавиатур: не то, что вы ожидали, это не результат showkey -s . Вместо этого вам придется использовать evtest , чтобы получить нужные вам скан-коды.

Пример вывода evtest :

Event: time 1399420905.069693, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70004
Event: time 1399420905.069693, type 1 (EV_KEY), code 30 (KEY_A), value 1
Event: time 1399420905.069693, -------------- SYN_REPORT ------------

Вам нужно значение после MSC_SCAN , в этом случае оно сообщает нам, что кнопка сопоставлена ​​с клавишей A ( KEY_A ) имеет скан-код 70004 .

1
27.01.2020, 23:50

Теги

Похожие вопросы