When you launch X410, it automatically selects a keyboard layout that will be used for Linux GUI apps based on Windows settings. X410 currently doesn't have an option to change this initially selected keyboard layout while it's running. However, you can change it from Linux command-line or Linux desktop environment.

Please note that some languages (ex. Chinese/Japanese/Korean) require an input method editor (IME) in order to properly enter full characters. This post doesn't consider such IME's and only focuses on selecting a keyboard layout.

Desktop Mode

If you're running a full Linux desktop environment such as Xfce, it should already have its own keyboard settings section. For example, the following screenshot shows the keyboard settings in Xfce. You shouldn't have any problem setting up the keyboard via those options.

Please note that when selecting a keyboard combination for switching layouts, make sure it's not already used by other apps or Windows.

Windowed Apps Mode

If you launched X410 in Windowed Apps mode, you can use "setxkbmap" from Linux command-line. You need to execute this command only once after starting X410, but make sure it's the first one you execute before launching any Linux GUI app.

setxkbmap [ args ] [ layout [ variant [ option ...  ] ] ]



If you're using a Debian based Linux distro such as Ubuntu and getting an error message about not finding the setxkbmap command, try installing "x11-xkb-utils" package. You also need to install "xkb-data" package for the actual keyboard layout data.

sudo apt install x11-xkb-utils xkb-data



To view a full list of available keyboard layouts and options, you can use the following command:

man xkeyboard-config



Examples

  • Query the current keyboard layout settings
    setxkbmap -query
    
    
    	
  • Changing the keyboard layout to DVORAK
    setxkbmap us -variant dvorak
    
    
    	
  • Toggling between two keyboard layouts: English (US) and Russian
    setxkbmap us,ru -option grp:ctrl_shift_toggle
    
    
    	

After finding suitable keyboard layout arguments for setxkbmap, you can add the command to your login script (ex. ~/.bashrc) or create a separate Windows batch file (*.bat) that launches X410 and executes the command.

C:\wsl\ubuntu1804_x410_dvorak.bat
REM ### Start X410 in Windowed Apps Mode 
start /B x410.exe /wm

REM ### Set the keyboard layout to English (US) DVORAK
ubuntu1804.exe run "DISPLAY=127.0.0.1:0.0 setxkbmap us -variant dvorak"




This batch file briefly opens a Command Prompt window. If you want to hide it, you can use the method described in "Running Xfce Desktop on Kali Linux" (Windows shortcut method) or "Creating a Windows Shortcut for Linux GUI Desktop" (Visual Basic script method).





Share This Story, Choose Your Platform!