xdotool и раскладка клавиатуры

Проблема

Я пытаюсь сделать:

xdotool type 'date;'

но вместо ожидаемого

date;

Я получил:

dateq

У меня греческая клавиатура, но когда я запускаю команду, устанавливается язык США. Примечание: при использовании греческого языка клавиша «q» на клавиатуре используется вместо точки с запятой «;» (это поведение / сопоставление по умолчанию)

Вопрос

Что я могу сделать, чтобы поставить точку с запятой в типе xdotool?

Некоторая информация

Я использую Xfce 4.8 на XUbuntu

$ xfce4-terminal -V
xfce4-terminal 0.4.8 (Xfce 4.8)

$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     us,gr
variant:    ,
options:    grp:caps_toggle
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+gr:2+inet(evdev)+capslock(grouplock)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us+gr:2+inet(evdev)+capslock(grouplock)"    };
    xkb_geometry  { include "pc(pc105)" };
};

$ sudo lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.2 LTS
Release:    12.04
Codename:   precise

person vkats    schedule 25.07.2013    source источник
comment
Вот заявление Джордана Сисселя (создателя xdotool) по поводу этой сохраняющейся ошибки: github.com/ jordansissel / xdotool / issues /   -  person phil294    schedule 16.08.2019


Ответы (4)


Это известная ошибка. Вы можете попробовать обновить xdotool до последней версии. Если это не сработает, загляните на эту страницу, особенно на ответ №29:

http://code.google.com/p/semicomplete/issues/detail?id=13

Проблема была решена этим запросом на перенос от 07 апреля 2014 г. чем 3 года назад сейчас). Если у кого-то все еще есть эта проблема, я думаю, что лучше всего обновить xdotool.

person Aleks-Daniel Jakimenko-A.    schedule 20.08.2013
comment
У вас есть URL-адрес отчета об ошибке в восходящем направлении? - person Gilles Quenot; 16.09.2015
comment
@StardustOne ссылка тут же. Однако похоже, что эта проблема теперь решена в этом запросе на перенос: github.com/jordansissel/xdotool / pull / 39 - person Aleks-Daniel Jakimenko-A.; 16.09.2015
comment
@Blauhirn, дело не в исходном коде. Проблема должна быть решена в апстриме. Фактически, эта проблема была решена три года назад, поэтому наличие ссылки так важно. Вам следует попробовать обновить xdotool. - person Aleks-Daniel Jakimenko-A.; 05.08.2017

пытаться

setxkbmap <yourlocale>

перед вызовом xdotool

person fazae    schedule 07.04.2016
comment
Это помогло мне наконец получить Z вместо Y - person Takiro; 25.08.2017
comment
Для debian и ubuntu локали можно найти в / usr / share / X11 / xkb / symbols / - person Amaury D; 01.03.2019

У меня работают:

echo "date;" | xvkbd -xsendevent -file -
xvkbd -xsendevent -text 'date;'

(удалите параметр -xsendevent, и вы получите ту же проблему, что и с xdotool)

person Metamorphic    schedule 06.07.2015

расширяя ответ fazae:

У меня вроде бы последняя версия xdotool. Но ошибка все еще есть:

$ xdotool --version
xdotool version 2.20110530.1

$ xdotool type ';'
$

'$' набирается вместо ';'.

$ xdotool type ':'
^

'^' набирается вместо ':'

ИСПРАВЛЕНИЕ (пример для локалей us и ru, alt + shift для переключения макетов): установите локаль на нас, включите переключение макета с помощью alt + shift:

$ setxkbmap us && xdotool type ':' && setxkbmap -option grp:alt_shift_toggle us,ru
:
person user3804598    schedule 11.06.2019