44

I'd like to use multiple keyboards (all USB or one USB and one PS/2) with a different keyboard layout on each. Is this possible in Windows 7 or XP?

I'd prefer to avoid a hardware-based solution if possible.

My specific issue is that I prefer to use a Dvorak layout, but most of my colleagues use QWERTY. I'd quite like it if they could use my computer with a QWERTY layout by using a second keyboard, without affecting the layout of the primary one.

DavidPostill
  • 162,382
me_and
  • 2,267

5 Answers5

20

I think this is just what you need:

http://www.codeproject.com/Articles/20994/Using-multiple-keyboards-with-different-layouts-on

The article describes RightKeyboard, which changes the system keyboard layout depending which keyboard you use to type. It has a couple of restrictions (the first key typed when you switch keyboards may be wrong, for example, because it works by changing the global layout when you press a key on a different keyboard, not by actually making the system read them each differently), but it should do the job.

There have been reports in the comments of the download from that link not working, though, so get it from the GitHub release if you want to use it: https://github.com/agabor/RightKeyboard/releases

Darael
  • 512
Colo
  • 201
2

In another thread, somebody pointed to Win+Space for switching keyboard layouts. This did the trick for me on Win10.

Splash
  • 91
  • 2
  • 2
  • 9
1

Unfortunately, the Windows can't tell one keyboard from another, so you're pretty much out of luck on the software side. The driver software just gathers all input sources and treats it as one. Perhaps Linux is smarter about this? I don't know, but you mention coworkers so you're probably bound to Windows anyway.

There are some hardwired Dvorak keyboards available. This might be an option to you?

0

The RightKeyboard program referred to in Colo's answer does not work properly for me.

The main issue is that it gives a list of languages/dialects, but not the associated layout, so you're basically making a blind guess. I found a newer fixed version on GitHub which solves that, version 1.3.

paul
  • 1
-1

Use Alt+(left)Shift to switch between them