【问题标题】:xdotool and keyboard layoutxdotool 和键盘布局
【发布时间】:2013-07-25 01:36:12
【问题描述】:

问题

我正在努力:

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

【问题讨论】:

标签: bash keyboard-layout xfce xdotool


【解决方案1】:

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

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

this pull request 于 2014 年 4 月 7 日(距今已超过 3 年)解决了该问题。如果今天还有人遇到这个问题,我认为你最好的选择是升级 xdotool。

【讨论】:

  • 请问有上游错误报告的 URL 吗?
  • @StardustOne 链接就在那里。然而,这个问题现在似乎在这个拉取请求中得到了解决:github.com/jordansissel/xdotool/pull/39
  • @Blauhirn 这与源代码无关。这个问题应该在上游解决。事实上,这个问题在 三年前 就已经解决了,这就是为什么有一个链接很重要。您应该尝试更新 xdotool。
【解决方案2】:

这些对我有用:

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

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

【讨论】:

    【解决方案3】:

    试试

    setxkbmap <yourlocale>
    

    在调用 xdotool 之前

    【讨论】:

    • 这帮助我最终得到了 Z 而不是 Y
    • 对于 debian 和 ubuntu,可以在 /usr/share/X11/xkb/symbols/ 下找到语言环境
    【解决方案4】:

    扩展 fazae 的答案:

    我似乎有最新版本的 xdotool。但是bug依然存在:

    $ xdotool --version
    xdotool version 2.20110530.1
    
    $ xdotool type ';'
    $
    

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

    $ xdotool type ':'
    ^
    

    输入的是'^'而不是':'

    FIX(例如 us 和 ru 区域设置,alt+shift 用于切换布局):将区域设置为 us,使用 alt+shift 启用布局切换:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      • 2010-11-19
      • 2012-05-25
      • 2012-02-17
      • 2013-09-12
      相关资源
      最近更新 更多