4

I recently got a new Wacom Mobile Studio Pro 13. A tablet computer (no trackpad, no physical keyboard, just a few buttons on the left hand side, with a Wacom stylus).

When I first login into an account, typing in the password with the on screen keyboard, the shift key works just fine. But after login, and at the lock screen, the shift key doesn't actually capitalize letters when used, even though keyboard visually looks like it is working. This makes it impossible to login in from the lock screen, requiring a hard boot.

I tested in a text editor to confirm that it isn't working as described.

I am not sure if there is something I am missing, and I am not sure how to begin troubleshooting this problem.

Here is a quick screen capture of the problem in case my description doesn't suffice.

https://youtu.be/IFC93g2B8yc

lachoneus
  • 53
  • 6
  • Try to install the onboard on screen keyboard: Install it and start it: Does it work better? sudo apt install onboard – sudodus Dec 06 '17 at 06:06
  • 1
    Installed onboard and shift seems to be working when logged into my account. But even with the appear on lock screen option enabled, onboard does not appear on the lock screen. Which doesn't solve the problem of needing an onscreen keyboard that allows me to use capital letters in a password. Plus onboard is not as visually pleasing as caribou :) – lachoneus Dec 06 '17 at 16:56
  • It seems you have to use a password without capital letters. Have you considered the xkcd method (several words instead of a classical password style provide the necessary entropy when generating the password). See these links, https://askubuntu.com/questions/976808/password-generator-combining-actual-words/977086#977086 – sudodus Dec 06 '17 at 17:10
  • @sudodus Can you tell how to change Caribou to OnBoard so that the latter shows by default whenever I touch the screen? – Gonki Dec 27 '17 at 18:49
  • 1
    @Gonki, I am not sure how to do that. When I want Onboard, I start it. It can be autostarted, when logged in. I think it is difficult to turn off Caribou. Maybe the best way to turn it off is to rename the program, so that the system does not find it. An alternative is to use one of the Ubuntu community flavours (Kubuntu, Lubuntu ... Xubuntu), where there is no Caribou, and you simply install and start Onboard. – sudodus Dec 27 '17 at 21:44

2 Answers2

0

Here is a solution that will only work on Xorg, not Wayland.

We will modify the binary file, /usr/lib/gnome-shell/libgnome-shell.so.

  1. Make a backup of the original file.

    sudo cp /usr/lib/gnome-shell/libgnome-shell.so /usr/lib/gnome-shell/libgnome-shell.so.original
    
  2. View the portion of the file that we will modify.

    xxd /usr/lib/gnome-shell/libgnome-shell.so | grep -A3 "ribou.DisplayA"
    

    The output will look like this, showing that Caribou uses Gnome Shell's new LocalAdapter to handle virtual key presses.

    001150d0: 4361 7269 626f 752e 4469 7370 6c61 7941  Caribou.DisplayA
    001150e0: 6461 7074 6572 2e73 6574 5f64 6566 6175  dapter.set_defau
    001150f0: 6c74 286e 6577 204c 6f63 616c 4164 6170  lt(new LocalAdap
    00115100: 7465 7228 2929 3b0a 0a20 2020 2020 2020  ter());.. 
    
  3. Comment out the part of the code that tells Caribou to use Gnome Shell's LocalAdapter. Caribou will then default to its own XAdapter, which works only in X11.

    sudo sed -i 's|\x43\x61\x72\x69\x62\x6f\x75\x2e\x44\x69\x73\x70\x6c\x61\x79\x41|\x2f\x2f\x72\x69\x62\x6f\x75\x2e\x44\x69\x73\x70\x6c\x61\x79\x41|g' /usr/lib/gnome-shell/libgnome-shell.so
    
  4. Verify that /usr/lib/gnome-shell/libgnome-shell.so was modified correctly.

    xxd /usr/lib/gnome-shell/libgnome-shell.so | grep -A3 "ribou.DisplayA"
    

    The output will look like this, showing that the line has now been commented out.

    001150d0: 2f2f 7269 626f 752e 4469 7370 6c61 7941  //ribou.DisplayA
    001150e0: 6461 7074 6572 2e73 6574 5f64 6566 6175  dapter.set_defau
    001150f0: 6c74 286e 6577 204c 6f63 616c 4164 6170  lt(new LocalAdap
    00115100: 7465 7228 2929 3b0a 0a20 2020 2020 2020  ter());..
    
  5. Disable Wayland and use X11 on the GDM (login) screen.

    sudo sed -i "s|#WaylandEnable=false|WaylandEnable=false|g" /etc/gdm3/custom.conf
    

    Make sure WaylandEnable has been uncommented and that it is set to false in the GDM configuration.

    cat /etc/gdm3/custom.conf | grep -B1 WaylandEnable
    

    The output should look exactly like this.

    # Uncoment the line below to force the login screen to use Xorg
    WaylandEnable=false
    
  6. Finally, reboot to make the changes effective.

Since the solution above is only a workaround, register on Launchpad and Bugzilla, and mark yourself as impacted, so this bug gets fixed...

Undo / Revert Changes

If your outputs from steps 4 and 5 match what is shown above, then the changes were made successfully. If you need to revert these changes, do the following:

To un-do the changes in step 4...

sudo cp /usr/lib/gnome-shell/libgnome-shell.so.original /usr/lib/gnome-shell/libgnome-shell.so

To un-do the changes in step 5...

sudo sed -i "s|WaylandEnable=false|#WaylandEnable=false|g" /etc/gdm3/custom.conf
Enterprise
  • 12,352
  • Thanks for the answer! I just went through your solution, and all it did was make it so any interaction with the Caribou keyboard doesn't work. In other words, there is no on screen keyboard input after changing the file, even though the on screen keyboard still comes up. I had to restore the backup to get it working again. I went through your instructions 3 times just to make sure I didn't mess something up, same results all 3 times. – lachoneus Dec 25 '17 at 22:56
  • Additionally, I tried this in XORG, not Wayland. – lachoneus Dec 25 '17 at 23:02
  • @lachoneus, I just corrected a major typo in step 3. (Due to a touchpad with bad palm rejection, I accidentally typed some superfluous text right in the middle of the most important command!). Sorry about that. Give this a try again. If you already have the backup of the original file, keep it handy, and skip Step 1. Make sure your end result looks exactly as shown in step 4. – Enterprise Dec 26 '17 at 02:28
0

Ah is that you, emailing me the steps before Good that you put it here, so It is easier to retrieve, in case, people need it in upcoming release