xdotool和键盘布局

时间:2013-07-25 08:51:25

标签: bash keyboard-layout xfce xdotool

问题

我正在尝试:

xdotool type 'date;'

但不是预期的

date;

我明白了:

dateq

我有一个希腊键盘,但是当我发出命令时,语言设置为美国。注意:当使用希腊语时,键盘的键'q'用于分号';' (这是默认的behavior/mapping

问题

如何使用xdotool的类型获得分号?

一些信息

我在XUbuntu上使用Xfce 4.8

$ 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

4 个答案:

答案 0 :(得分:5)

尝试

setxkbmap <yourlocale>

在调用xdotool之前

答案 1 :(得分:2)

这是一个已知的错误。您可以尝试的一件事是升级到最新版本的xdotool。如果这不起作用,那么请查看此页面,尤其是回答#29:

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

问题由this pull request在2014-04-07(现在已超过3年前)解决。如果有人今天仍然遇到这个问题,我认为你最好的选择是升级xdotool。

答案 2 :(得分:0)

这些对我有用:

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

(删除-xsendevent选项,你会遇到与xdotool相同的问题)

答案 3 :(得分:0)

扩展fazae的答案:

看来,我拥有最新版本的xdotool。但是错误仍然存​​在:

$ xdotool --version
xdotool version 2.20110530.1

$ xdotool type ';'
$

输入'$'而不是';'。

$ xdotool type ':'
^
输入

'^'而不是':'

FIX(用于us和ru语言环境的示例,用于切换布局的alt + shift):将语言环境设置为我们,使用alt + shift启用布局切换:

$ setxkbmap us && xdotool type ':' && setxkbmap -option grp:alt_shift_toggle us,ru
: