Как сопоставить клавишу с последовательностью клавиш и комбо, включая эту клавишу?

POSIX, вы могли бы сделать это с помощью awkотносительно эффективно (определенно эффективнее, чем запускать по крайней мере одну утилиту GNU shufдля каждой строки ввода )как:

awk '
  BEGIN {srand()}
  {
    for (i = 1; i <= NF; i++) {
      r = int(rand() * NF) + 1
      x = $r; $r = $i; $i = x
    }
    print
  }' < your-file

(обратите внимание, что в большинстве реализаций awkзапуск одной и той же команды дважды в одну и ту же секунду, вероятно, даст вам тот же результат, что и случайное начальное число по умолчанию, используемое с srand(), обычно основанное на текущем времени эпохи в секундах. ).

1
11.11.2021, 04:49
1 ответ

По-видимому, нет собственного способа избежать рекурсии с помощью dxhd, но это можно сделать с помощью sxhkd, используя следующую конфигурацию:

@{a-z}
    pkill -USR2 -x sxhkd; xdotool key ctrl+g key {a-z} sleep 1 key Tab; pkill -USR2 -x sxhkd

Первая и последняя команды отправляют sxhkdсигнал SIGUSR2, который переключает состояние захвата всех его привязок . Это позволяет нам использовать связанный ключ между ними, не вызывая рекурсии.

(Команда xdotoolтакже была сжата в одну строку с помощью встроенной -в цепочки команд , просто чтобы сделать строку короче; исходные команды, разделенные ;, также будут работать. К сожалению, sxhkdне поддерживает многострочные -команды.)

0
14.11.2021, 05:35

Теги

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