Shift case not working in Linux
jekku opened this issue · 13 comments
I was planning to do a "Coding ghost" showcase which automagically recreates code in sublime given a directory of a code base.
It seems like
robot.typeString("~!@#$%^&*()_+");
Outputs :
`12345678()-=
You can checkout
https://github.com/jekku/creeper/tree/issue_link/no_shifts_unix
I was about to post a new issue, then saw this one.
I'm having the same exact problem on Windows 8.1.
Anyone savvy enough to understand what's going on?
up up up
I can't even get robotjs to install in linux ;/ Some problem with nan 1.3.0 ( or 1.3.1 ). Will have to look into it more.
yes trying to print ! will output 1 in linux..
@octalmage Anyone still maintaining robot.js?
@jekku Yes, he is.
I'm having a similar issue on Windows 10, although I'm trying to send a file path with characters ":()" and getting ";90" instead.
@geekoftheweek I just got robotjs to install on Ubuntu 12.04. Will check the issue there and then move to Windows 10. ETA 2 days.
Sorry guys, big project at work. Will test this when I have time.
Can anyone confirm if the reverse ever happens ? When you use robotjs.typeString("123")
and get !@#
. Just curious.
The problem is that all keys are sent as keyboard input signals. So just like when you type !@# you need to hold down shift. That is not being handled as of yet. This is the case for characters !@#$%^&* (i.e. From 1-8). This fix wont be pretty or easy. I am currently working on this. And this problem is not limited to Ubuntu. I have confirmed this in windows 7 also. I am guessing this is universal.
Yeah that's messy, thanks for looking into this @Deltatiger! For now using keyTap
is a good workaround. For example:
robot.keyTap("1", "shift");
Also @Deltatiger, I tested robot.typeString("123");
in Ubuntu and it works as expected.
Alright then. Just inform us in the version bump when it gets fixed will do the shift for now :)