You are not logged in.
Sorry for the confusing title:
Im trying to load a custom keyboard layout map file with xmodmap:
The first layer works without problems, but I cannot access the second layer.
Only when I switch the layout via a keyboard layout switcher, I can type the second layer, but just the second layer.
I am on awesome wm v4.3 Linux 5.12.11.
I hope my question is broad enough to be of value for others.
Thank you.
Last edited by seraaa (2021-06-24 09:00:27)
Offline
I hope my question is broad enough to be of value for others.
The idea is actually to make it specific enough to be of value for you.
What is "a keyboard layout switcher", what's the output of "setxkbmap -print -query" before and after using "a keyboard layout switcher" and what is the xmodmap you're loading.
Also what's the actual plan?
You description sounds a bit like your successfully using a multilayout setup (eg. "setxkbmap -layout ru,en")?
Do you seek to toggle the layouts w/ a shortcut or do you want to alter the second level shift (ie. when pressing shift…) of only one layout?
Offline
Thank you for your answer.
I am a bit lost, sorry. The layout switching error disapeared after reinstalling xkeyboard-config i think.
The only error consisting is that I try to load a map file in the style of:
keycode 57 = f F at NoSymbol
keycode 58 = h H less NoSymbol
keycode 59 = z Z greater NoSymbol
keycode 60 = k K bracketleft NoSymbol
keycode 61 = p P bracketright NoSymbolI am then trying to remap modifiers keys: shift on lsgt key (<> key on iso keyboards) (this works) but I cant get to access the third and fourth layer (should be made with caps and normal shift) I tried it with clear mod5 and keycode 66 = Iso_level_3_shift and add the key, but this doesnt seem to work.
Output of setxkbmap:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwertz)" };
xkb_types { include "complete" };
xkb_compat { include "complete+caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)" };
xkb_symbols { include "pc+de(bone)+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
rules: evdev
model: pc105
layout: de
variant: boneOutput of xmodmap -pm:
xmodmap: up to 3 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Shift_L (0x32)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 BadKey (0xcf)
mod3 ISO_Level5_Shift (0xcb)
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce)
mod5 ISO_Level3_Shift (0x5c)Offline
So, the "bone" layout already has
include "shift(both_capslock)"
include "level3(caps_switch)"
include "level3(bksl_switch)"
include "level5(lsgt_switch_lock)"
include "level5(ralt_switch_lock)"ie. both shift together act as caps lock, caps and backspace are 3rd level shifts and lsgt and the right alt key are 5th level shifts.
setxkbmap -option "lv2:lsgt_switch"should™ turn lsgt into shift but you might have to undo the above
setxkbmap -option "" # reset options
setxkbmap -option "lv3:caps_switch,lv2:lsgt_switch"There's also "misc(assign_shift_left_action)+level5(level5_lock)" so the left shift should™ select the 4th layer (before resetting the options, at least)?
What's the actual xmodmap file you're using right now?
Offline
Ah damn.
I figured it out:
Supposedly some lock included in my actual layout right now lets the syntax of the map file be:
keycode <> = Nothing Shift Mode_Switch Mode_Switch and then the modkeys.
I'm sorry :\
Offline