Я использую среду X с двойной раскладкой клавиатуры: us,il
. Теперь в некоторых моих приложениях и в макете il
символы иврита не регистрируются, а знаки препинания - нет. В других приложениях ивритские символы хорошо регистрируются и добавляются к любому тексту, который я набираю. Английская раскладка отлично работает. Я предоставлю полную информацию о моей конфигурации ниже.
Мои вопросы: почему это происходит? И что еще более важно, как я могу это исправить / обойти и заставить все приложения также принимать ивритские символы?
Подробности о моей настройке
- Физическая раскладка клавиатуры: стандартная US 104-клавишная (как эта).
- Распространение ОС: Devuan 2.0 ASCII (~ = Debian 9.0 Stretch)
Конфигурация XKB:
$ setxkbmap -query rules: evdev model: pc105 layout: us,il variant: , options: grp:alt_shift_toggle,grp_led:scroll
Окружение рабочего стола: это происходит со мной как с Cinnamon, так и с LXQt; еще не пробовал других.
- Приложения, отклоняющие ивритские символы: Cinnamon's Alt+F2 launcher; Leafpad; GEdit, xterm.
- Приложения, принимающие ивритские символы: KWrite, GNOME Terminal, LibreOffice, Firefox, Kolourpaint, lxterminal, Konsole.
xev
output
Вывод при нажатии на клавиатуре:
KeyRelease event, serial 34, synthetic NO, window 0x7e00001,
root 0x43, subw 0x0, time 369470632, (96,-25), root:(146,62),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyPress event, serial 34, synthetic NO, window 0x7e00001,
root 0x43, subw 0x0, time 369474392, (96,-25), root:(146,62),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
Выход при переключении раскладки клавиатуры:
KeyPress event, serial 34, synthetic NO, window 0x7e00001,
root 0x43, subw 0x0, time 369547896, (75,-23), root:(125,64),
state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 34, synthetic NO, window 0x7e00001,
root 0x43, subw 0x0, time 369548008, (75,-23), root:(125,64),
state 0x8, keycode 62 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
XKeysymToKeycode returns keycode: 50
XLookupString gives 0 bytes:
XFilterEvent returns: False
PropertyNotify event, serial 34, synthetic NO, window 0x7e00001,
atom 0x176 (XKLAVIER_STATE), time 369548013, state PropertyNewValue
PropertyNotify event, serial 34, synthetic NO, window 0x7e00001,
atom 0x176 (XKLAVIER_STATE), time 369548013, state PropertyNewValue
KeyRelease event, serial 34, synthetic NO, window 0x7e00001,
root 0x43, subw 0x0, time 369548072, (75,-23), root:(125,64),
state 0x2008, keycode 62 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
XKeysymToKeycode returns keycode: 50
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x7e00001,
root 0x43, subw 0x0, time 369548168, (75,-23), root:(125,64),
state 0x2008, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Выход при повторном нажатии на клавиатуре (эта клавиша также соответствует Hebrew буква голени, ש):
KeyPress event, serial 34, synthetic NO, window 0x7e00001,
root 0x43, subw 0x0, time 369560440, (75,-23), root:(125,64),
state 0x2000, keycode 38 (keysym 0xcf9, hebrew_shin), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x7e00001,
root 0x43, subw 0x0, time 369560504, (75,-23), root:(125,64),
state 0x2000, keycode 38 (keysym 0xcf9, hebrew_shin), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
xmodmap -pke
Часть вывода xmodmap -pke
:
... etc. etc. ...
keycode 24 = q Q slash Q U05C2
keycode 25 = w W apostrophe W U05C1
keycode 26 = e E hebrew_qoph E U05B8
keycode 27 = r R hebrew_resh R U05B3
keycode 28 = t T hebrew_aleph T
keycode 29 = y Y hebrew_tet Y U05F0
keycode 30 = u U hebrew_waw U U05B9
keycode 31 = i I hebrew_finalnun I
keycode 32 = o O hebrew_finalmem O
keycode 33 = p P hebrew_pe P U05B7
keycode 34 = bracketleft braceleft bracketright braceright U05B2
keycode 35 = bracketright braceright bracketleft braceleft U05BF
keycode 36 = Return NoSymbol Return
keycode 37 = Control_L NoSymbol Control_L
keycode 38 = a A hebrew_shin A U05B0
keycode 39 = s S hebrew_dalet S U05BC
keycode 40 = d D hebrew_gimel D
keycode 41 = f F hebrew_kaph F
keycode 42 = g G hebrew_ayin G U05F1
keycode 43 = h H hebrew_yod H U05F2
keycode 44 = j J hebrew_chet J U05B4
keycode 45 = k K hebrew_lamed K
keycode 46 = l L hebrew_finalkaph L rightdoublequotemark
keycode 47 = semicolon colon hebrew_finalpe colon doublelowquotemark
keycode 48 = apostrophe quotedbl comma quotedbl U05F4
keycode 49 = grave asciitilde semicolon asciitilde U05F3
keycode 50 = Shift_L ISO_Next_Group Shift_L ISO_Next_Group
keycode 51 = backslash bar backslash bar U05BB
keycode 52 = z Z hebrew_zain Z
keycode 53 = x X hebrew_samech X U05B6
keycode 54 = c C hebrew_bet C U05B1
keycode 55 = v V hebrew_he V
keycode 56 = b B hebrew_nun B NoSymbol U05C6
keycode 57 = n N hebrew_mem N
keycode 58 = m M hebrew_zade M U05B5
keycode 59 = comma less hebrew_taw greater rightsinglequotemark
keycode 60 = period greater hebrew_finalzade less singlelowquotemark
keycode 61 = slash question period question division
... etc. etc. ...
Языковые переменные среды
$ env | grep LANG
LANG=en_IL
GDM_LANG=en_US.utf8
LANGUAGE=en_IL:en
Другие заметки
- Если я создаю чистую учетную запись пользователя, этот пользователь не сталкивается с этой проблемой. Так что это должна быть какая-то пользовательская настройка.
- Если я копирую текст на иврите, я могу вставить его в приложения, в которых не используются ивритские символы, и он отображается нормально.
- Я сохранил свою домашнюю папку из предыдущей, не Devuan, установки Linux (это был Linux Mint 18.3).