You are not logged in.

#1 2022-12-13 15:24:52

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

[SOLVED]Hardware Dvorak in vconsole

Hello,

I have been using software dvorak for the longest and didn't have any issue until recently where my work now requires logging into multiple VMs (Windows & Linux) most of which don't have the dvorak layout installed in the base image. This causes an issue during login, because I have to then remember the QWERTY layout to login and then in each machine I have to enable the dvorak layout and then also enable it for the login screen which then also causes issues to my colleagues in case they take my session. This is no longer feasible because of the number of VMs that I login to have increased as more of our customers move towards the cloud and have multiple VMs as servers in each of their DEV, TEST, STAGE and PROD environments.

so I thought, I'd simply switch to hardware dvorak on my mechanical keyboard. That way I can use dvorak layout on any computer/VM without having to jump through hoops. So I remapped the alphabet & a few other keys like (' , . - / = [ ]) to the dvorak layout using the keyboard's software on my windows work laptop.

On my Arch desktop, I removed the software dvorak configuration from the Sway config, so in sway/wayland the keyboard works just fine.

However, I cannot seem to get the correct layout in the console. When I was using software dvorak, I had set

KEYMAP=dvorak

in /etc/vconsole.conf. So I removed that line from vconsole.conf hoping that would work, but I get a weird layout with the keys all jumbled up. It wasn't any layout that I know of & it was a hassle finding all the keys correctly for my username and password the first time i tried logging in after the change.

[prodesk: ~]── - localectl status
System Locale: LANG=en_US.UTF-8
    VC Keymap: (unset)
   X11 Layout: (unset)

I also tried to put back the line, but I still get the same weird layout and not dvorak in console. Running localectl status after logging in the console I get

[prodesk: ~]── - localectl status
System Locale: LANG=en_US.UTF-8
    VC Keymap: dvorak
   X11 Layout: (unset)

Finally, I thought I'd explicitly set it to US QWERTY, so I set the line as

KEYMAP=us

and that still produced the same weird layout in console. Running localectl status after logging in the console I get

[prodesk: ~]── - localectl status
System Locale: LANG=en_US.UTF-8
    VC Keymap: us
   X11 Layout: (unset)

EDIT: I have also tried removing the /etc/vconsole.conf file completely but it still exhibits the same issue.


How can I fix the layout in the console?


TIA

Last edited by Inxsible (2022-12-14 15:00:34)


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#2 2022-12-13 15:35:46

ugjka
Member
From: Latvia
Registered: 2014-04-01
Posts: 1,957
Website

Re: [SOLVED]Hardware Dvorak in vconsole

mkinitcpio -p linux, maybe?

Offline

#3 2022-12-13 15:59:41

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,411

Re: [SOLVED]Hardware Dvorak in vconsole

How do you login with "the keys all jumbled up"?
How jumbled?
Can you run "loadkeys us"? (I see a chance that you forgot some loadkeys script call if changing /etc/vconsole.conf has no impact and especially vconsole.conf isn't in the initcpio)

Offline

#4 2022-12-13 17:25:57

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: [SOLVED]Hardware Dvorak in vconsole

seth wrote:

How do you login with "the keys all jumbled up"?

with extreme difficulty. After the first try I jotted down the keys on a piece of paper... now I keep the Sway session running and test on tty2

seth wrote:

How jumbled?

Extreme -- as in s is where z was in QWERTY. z is where the curly brace is, o is where L was and so on.

seth wrote:

Can you run "loadkeys us"? (I see a chance that you forgot some loadkeys script call if changing /etc/vconsole.conf has no impact and especially vconsole.conf isn't in the initcpio)

Ok. I ran sudo loadkeys us on tty2 after logging in and now my keystrokes are as expected. However, why doesn't the change I made in vconsole.conf take effect without explicitly running loadkeys us? I don't recall a loadkeys script that I have to be honest and I had tried rebooting the machine as well.

Last edited by Inxsible (2022-12-13 17:28:37)


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#5 2022-12-13 17:57:30

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,411

Re: [SOLVED]Hardware Dvorak in vconsole

Either ugjka is correct and you do have a vconsole copy in the initramfs or, whether you recall it or not, you later steamroll over the config.

Offline

#6 2022-12-14 15:00:15

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: [SOLVED]Hardware Dvorak in vconsole

After running the loadkeys us once earlier... I have rebooted the machine a few times and not had a problem. So it wasn't a mkinitcpio thing. It was surely a loadkeys thing. I must have run loadkeys dvorak way way back when since I started using dvorak maybe a decade ago. But I am surprised that it stuck across boots since I definitely didn't remove or delete any script recently that could have had the loadkeys call.


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#7 2022-12-14 15:06:09

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,411

Re: [SOLVED]Hardware Dvorak in vconsole

loadkeys is transient, running it once cannot have impact after a reboot.

sudo lsinitcpio  /boot/initramfs-linux*img | grep console

Edit: english…

Last edited by seth (2022-12-14 15:06:56)

Offline

Board footer

Powered by FluxBB