Using lv3 modifier for KB symbols

I’m a bit confused because some topics seem to say you cant & others say you can.
I need to use Control_R as a modifier key to access the 3rd level symbols on my KB.
I’ve done this many times before on distros, but this may be different…

I’m using Archcraft hyprland/hyprcat v0.54

I have added to the input.conf, after checking with wev it is the correct key output.
kb_options = lv3:Control_R

Ive checked & edited xkb symbols for my kb (japanese) /usr/share/X11/xkb/symbols/jp

However I then noticed Hypr doesnt seem to differentiate between the ctrl keys.
In the Wiki it does mention Control_R, but my bindings conf it only specifies “CTRL”, so maybe its Archcraft distro changing something?, not sure.

I specifically need to use Control_R because I don’t have an altGR.

Since my laptop is Japanese but I currently live in the UK, I need to be able to type some UK symbols such as GBP pound symbol. Usually I can add this as lv3 to the xkb symbols jp file & then use lv3 mod key.

Solved it!

Control_R is “switch” as defined in /usr/share/X11/xkb/rules/evdev.lst

So, simply edit these 2 files:

hyprland input.conf
kb_options = lv3:switch

/etc/X11/xorg.conf.d/00-keyboard.conf
Option “XKbOptions” “lv3:switch”

& edit your keyboard symbols file with 3rd lev symbols
eg in my case: /usr/share/X11/xkb/symbols/jp

key <AE03> { [ 3, numbersign, sterling      ] };
key <AE04> { [ 4, dollar, EuroSign          ] };

key  { [ r, R, registered                     ] };
key  { [ o, O, degree                 ] };
key  { [ c, C, copyright                      ] };

£€®°©

oh & fyi, /usr/share/X11/xkb/symbols files get overwritten occasionally by system updates, there’s probably a way to override with user conf, but just make a copy of your edited file & you can easily add 3rd lev symbols back.