View Single Post
Posts: 1,336 | Thanked: 3,932 times | Joined on Jul 2010 @ Brittany, France
#34
Update of the us-intl layout to use Yellow arrow modifiers for level 3 characters instead of Alt.

Works only with the kernel updated by TheKit on 2019/12/23. If you haven't updated the kernel, you cannot use the yellow arrow modifiers in SFOS yet.

Using yellow arrows instead of Alt makes key combinations much easier since this modifier is duplicated on the left and the right sides of the keyboard; also easier to combine with Shift for level 4. Note that it is recognized as R_ALT, and therefore works for Alt+Tab (if you have Taskswitcher from Openrepos installed) and is much easier to use than when using the real Alt key.

Unfortunately, R_ALT in Ubu chroot behaves the same way as L_ALT and therefore conflicts with OS-wide shortcuts (i.e., Yellow Arrow + F will unfold the "File" menu in any window instead of sending a level 3 character…), and therefore there is no way to use level 3 and level 4 characters. :/ This is a significant issue because Ubu chroot is not just some niche gadget to play with xfce4 on a phone, it also is a web browser than can be used as a regular SFOS application (with real benefits).

I wonder if any other keycode could be used for the yellow arrows to avoid this conflict? On my laptop, the Right Alt key does not cause such conflict, and gives the following in xev:

Code:
KeyPress event, serial 35, synthetic NO, window 0x7800001,
    root 0x169, subw 0x0, time 163610917, (109,105), root:(159,212),
    state 0x0, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XKeysymToKeycode returns keycode: 92
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x7800001,
    root 0x169, subw 0x0, time 163610961, (109,105), root:(159,212),
    state 0x80, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XKeysymToKeycode returns keycode: 92
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
In Ubu chroot, xev sees yellow arrows as "Multi_key" and keycodes 64 and 108 for left and right. Changing the right yellow arrow to ISO_Level3_Shift using "xmodmap -e "keycode 108 = ISO_Level3_Shift"" did not change its behavior, it still behaves as regular Alt.

[Edit] A partial but not ideal workaround is to set a Compose key in Ubu XFCE4. It still won't allow typing ? or /, however.

In Ubu XFCE4, tap on Applications > Settings > Keyboard > Layout > Compose key. Select: "Right Alt".

After that, the yellow arrow can be used to compose special characters. It kinda works like a sticky key that turns the following key into a derivative special character, or a dead key prior to another key.

Examples:
Yellow arrow (release), o (release), o (release) = °
Yellow arrow (release), . (release), . (release) = …
Yellow arrow (release), a (release), a (release) = å
Yellow arrow (release), ` (release), e (release) = è.

In the latter case, if ` is already mapped as a dead key, there is no need for a compose key, but if it is a normal key, not using the compose key would just result in `e.

Last edited by Kabouik; 2019-12-23 at 03:38.
 

The Following 4 Users Say Thank You to Kabouik For This Useful Post: