You can make this Linux on X Windows, and OSX (another Windows-based X-operating system) can also do this.
Find the device identifier for the keyboard:
$ xinput -list | grep -i key
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ LITEON Technology USB Keyboard id=9 [slave keyboard (3)]
↳ LITEON Technology USB Keyboard id=10 [slave keyboard (3)]
Then change the layout using setxkbmap:
$ setxkbmap -device 9 dvorak
source
share