Команда типа xdotool

Я пытаюсь заставить xmonad набирать общую последовательность символов всякий раз, когда я нажимаю на простое сочетание клавиш. Одним из примеров этой проблемы является просто ввод моего адреса электронной почты.

Это то, что для меня выглядит файл конфигурации для xmonad:

import XMonad
import XMonad.Config.Gnome (gnomeConfig)
import XMonad.Util.CustomKeys (customKeys)
import XMonad.Util.EZConfig

main = xmonad $ gnomeConfig {
  keys = customKeys delKeys insKeys,
  logHook = return ()
  }
  where
    -- Remap mod-p to dmenu and mod-[sd] to swapping xinerama screens.
    delKeys :: XConfig l -> [(KeyMask, KeySym)]
    delKeys XConfig { modMask = modMask } =
      [ (modMask, xK_p), (modMask, xK_w), (modMask, xK_e) ]

    insertEmailAddress :: KeyMask -> [((KeyMask, KeySym), X())]
    insertEmailAddress modMask = [ ((noModMask, xK_Menu), spawn "xdotool type thisismyemail@example.com") ]

    insKeys :: XConfig l -> [((KeyMask, KeySym), X())]
    insKeys XConfig { modMask = modMask } = insertEmailAddress modMask

Однако, когда я нажал клавишу меню (он находится в нижней правой части моей клавиатуры) Я получаю только последнюю половину или около того. Например: yemail@example.com или isismyemail@example.com. Это будет непредсказуемо, когда начнется печать.

Я нашел обходной путь, изменив команду xdotool на xdotool sleep 0.1 type thisismyemail@example.com. Кажется, это работает безотказно, но я понятия не имею, почему. Любые мысли?

с использованием xmonad 0.11 и amp; xdotool версия 3.20140217.1

1
задан 16 July 2015 в 01:49

1 ответ

Возможно, вам потребуется увеличить задержку между нажатиями клавиш с помощью --delay (по умолчанию 12 мс):

xdotool type --delay 100 thisismyemail@example.com
1
ответ дан 23 May 2018 в 19:02

Другие вопросы по тегам:

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