Question

Problem

I am trying to do:

xdotool type 'date;'

but instead of the expected

date;

I get:

dateq

I have a greek keyboard, but when I issue the command the language is set to US. A note: when greek language is used, the key 'q' of the keyboard is used for the semicolon ';' (this is the default behavior/mapping)

Question

What can I do to get a semicolon with xdotool's type?

Some info

I am on Xfce 4.8 on 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
Was it helpful?

Solution 2

This is a known bug. One thing you can try is upgrading to the newest version of xdotool. If that doesn't work, then check out this page, especially answer #29:

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

The issue was resolved by this pull request on 2014-04-07 (which is more than 3 years ago now). If anybody is still having this issue today, I think your best bet is upgrading xdotool.

OTHER TIPS

try

setxkbmap <yourlocale>

before calling xdotool

These work for me:

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

(remove the -xsendevent option and you get the same problem as with xdotool)

extending fazae's answer:

I have the latest version of xdotool, it seems. But the bug is still there:

$ xdotool --version
xdotool version 2.20110530.1

$ xdotool type ';'
$

'$' is typed instead of ';'.

$ xdotool type ':'
^

'^' is typed instead of ':'

FIX (example for the us and ru locales, alt+shift for toggling layouts): set locale to us, enable layout toggling with alt+shift:

$ setxkbmap us && xdotool type ':' && setxkbmap -option grp:alt_shift_toggle us,ru
:
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top