আমি ডটস ( Ä
/ ä
) দিয়ে ওবুন্টু 16.04 এর ম্যাকবুক এয়ার 2013-এর মধ্যবর্তী কীবোর্ডে এক-স্তরের কী-বাইন্ডিং হিসাবে টাইপ করতে চাই , মাঝখানের আউটপুটsetxkbmap -query
rules: evdev
model: pc105
layout: us,us
variant: dvorak,
options: ctrl:nocaps
ডিফল্টরূপে, AltGrকীবোর্ডে নেই, মাত্র দুটি অল্টস। এই কমান্ডটি আপনার ডানদিকে রচনাগুলি কী ( AltGr) তৈরি করে তবে আপনার নিজস্ব কাস্টম কীবোর্ড কনফিগারেশন ইত্যাদি বজায় রাখে ইত্যাদি দ্বারা ক্যাপলক সিটিআরএল হিসাবে রয়েছে caps:ctrl_modifier
, দেখুন এখানে
gsettings set org.gnome.desktop.input-sources xkb-options \
"$(gsettings get org.gnome.desktop.input-sources xkb-options \
| sed "s/]/, 'compose:ralt']/")"
এটির xmodmap
পরিবর্তিত হতে যদি স্বতন্ত্র সমাধান পাওয়া সত্যিই দুর্দান্ত হবে কারণ এটি অবমাননিত হতে চলেছে।
দ্বি-স্তরের কী-বাইন্ডিং পদ্ধতি
আমরা কেবলমাত্র ডেভরাক ইন্টারন্যাশনালের সাথে ডেডিকেসের সাথে দ্বি-স্তরের কী-বাইন্ডিং পদ্ধতির কাজ করতে পারি।
- SeverusTux এর উত্তরটি দ্বি-স্তরের কমান্ড হিসাবে AltGr- Shift- Q+ A, যা কেবল এতে কাজ করে
us-drovak, international with deadkeys
। - SeverusTux। Ctrl+ Shift+ u+ e4+ Enterকাজ করে এবং আপনাকে দেয়
ä
। আপনি কীভাবে এটি এক-স্তরের কী-বাইন্ডিংয়ে মানচিত্র করতে পারেন Alt- a?
আপনি যেখানে দেখেন জিইউআই অন্য কোথাও পরিবর্তন আনতে পারে I আমি সত্যিই কোথায় জানতে চাই
masi@masi:~$ cat /usr/share/X11/locale/en_US.UTF-8/Compose > /home/masi/Desktop/test1
% I make here a change in the GUI as proposed by Severus: compose key = right Alt
masi@masi:~$ cat /usr/share/X11/locale/en_US.UTF-8/Compose > /home/masi/Desktop/test2
masi@masi:~$ diff /home/masi/Desktop/test1 /home/masi/Desktop/test2
[ no output ]
এটি দেখায় যে এক্সসার্ভার দ্রুত আপডেট হয় না। পরিবর্তনের জন্য আপনাকে নিজের কীবোর্ডকে অন্য কোনও কিছুতে পরিবর্তন করতে হবে এবং আবার ফিরে যেতে হবে।
এক-স্তরের কী-বাইন্ডিং অ্যাপ্রোচ
আমি চাই এক পর্যায়ের কমান্ড যেমন AltGr- Aজন্য ä
এবং AltGr- Shift- Aজন্য Ä
ইংরেজি (ইউএস-ডিভোরাক)। আমি xev -e keyboard
এবং টিপুনAltGr
[ignore the beginning; press AltGr]
KeyPress event, serial 28, synthetic NO, window 0x4400001,
root 0xd6, subw 0x0, time 13661220, (186,522), root:(186,574),
state 0x0, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x4400001,
root 0xd6, subw 0x0, time 13661284, (186,522), root:(186,574),
state 0x8, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
আপনি এর মাধ্যমে সমস্ত সম্ভাব্য স্যুইচ পেতে পারেন more /usr/share/X11/xkb/rules/xorg.lst | grep lv3
তবে আমরা কেবল এতে আগ্রহীlv3:ralt_switch
lv3:switch Right Ctrl
lv3:menu_switch Menu
lv3:win_switch Any Win key
lv3:lwin_switch Left Win
lv3:rwin_switch Right Win
lv3:alt_switch Any Alt key
lv3:lalt_switch Left Alt
lv3:ralt_switch Right Alt
lv3:ralt_switch_multikey Right Alt, Shift+Right Alt key is Compose
lv3:ralt_alt Right Alt key never chooses 3rd level
lv3:enter_switch Enter on keypad
lv3:caps_switch Caps Lock
lv3:bksl_switch Backslash
lv3:lsgt_switch <Less/Greater>
lv3:caps_switch_latch Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
lv3:bksl_switch_latch Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
lv3:lsgt_switch_latch <Less/Greater> chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
আমার কীবোর্ড লেআউটগুলি পরীক্ষিত তবে মূল ইংরেজি (ইউএস-ডিভোরাক)
চূড়ান্ত সমাধান [স্নিটার]
আমি ইংরাজীতে বিন্দু সহ একটি সেট করেছি (ডিভোরাক) AltGr- দ্বারা a। পরিবর্তনগুলি মার্জ করুন /usr/share/X11/xkb/symbols/us
; এখন জার্মান-ডিভোরাক কারণ এটি (থেকে খুব স্ক্যান্ডিনইভিআ ভাষার জন্য খুব ভাল কাজ করে এখানে )
// based on a keyboard map from an 'xkb/symbols/dk' file
// Added A with dots and O with dots for AltGr-A and AltGr-O, respectively. Sneether and Masi, 17-June-2016.
partial alphanumeric_keys
xkb_symbols "dvorak" {
name[Group1]= "English (Dvorak)";
key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft, dead_grave] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ bracketleft, braceleft ] };
key <AE12> { [ bracketright, braceright, dead_tilde] };
key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
key <AD04> { [ p, P ] };
key <AD05> { [ y, Y ] };
key <AD06> { [ f, F ] };
key <AD07> { [ g, G ] };
key <AD08> { [ c, C ] };
key <AD09> { [ r, R ] };
key <AD10> { [ l, L ] };
key <AD11> { [ slash, question ] };
key <AD12> { [ equal, plus ] };
key <AC01> {[ a, A, adiaeresis, Adiaeresis ] };
key <AC02> {[ o, O, odiaeresis, Odiaeresis ] };
key <AC03> { [ e, E, ediaeresis, Ediaeresis ] };
key <AC04> { [ u, U, udiaeresis, Udiaeresis ] };
key <AC05> { [ i, I ] };
key <AC06> { [ d, D ] };
key <AC07> { [ h, H ] };
key <AC08> { [ t, T ] };
key <AC09> { [ n, N ] };
key <AC10> { [ s, S, ssharp ] };
key <AC11> { [ minus, underscore ] };
key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
key <AB02> { [ q, Q ] };
key <AB03> { [ j, J ] };
key <AB04> { [ k, K ] };
key <AB05> { [ x, X ] };
key <AB06> { [ b, B ] };
key <AB07> { [ m, M ] };
key <AB08> { [ w, W ] };
key <AB09> { [ v, V ] };
key <AB10> { [ z, Z ] };
key <BKSL> { [ backslash, bar ] };
include "level3(ralt_switch)"
};
অথবা স্ক্রিপ্টটি ব্যবহার করুন যা এখনও বগি
# restore your current keyboard settings
sudo apt-get install --reinstall xkb-data
gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt', 'caps:ctrl_modifier']"
sudo sed -i.bak 's/[[ \t]*a,[ \t]*A[ \t]*]/[ a, A, adiaeresis, Adiaeresis ]/g;' /usr/share/X11/xkb/symbols/us;
sudo sed -i.bak 's/[[ \t]*o,[ \t]*O[ \t]*]/[ o, O, odiaeresis, Odiaeresis ]/g;' /usr/share/X11/xkb/symbols/us;
# German-Dvorak feels better
#sudo sed -i.bak 's/[[ \t]*e,[ \t]*E[ \t]*]/[ e, E, ediaeresis, Ediaeresis ]/g;' /usr/share/X11/xkb/symbols/us;
#sudo sed -i.bak 's/[[ \t]*u,[ \t]*U[ \t]*]/[ u, U, udiaeresis, Udiaeresis ]/g;' /usr/share/X11/xkb/symbols/us;
#sudo sed -i.bak 's/[[ \t]*s,[ \t]*S[ \t]*]/[ s, S, ssharp ]/g;' /usr/share/X11/xkb/symbols/us;
# add include "level3(ralt_switch)" to the end of the environment
# https://unix.stackexchange.com/a/290407/16920
# https://unix.stackexchange.com/q/290405/16920
pos=( $( sed -n -f - /usr/share/X11/xkb/symbols/us <<END_SED
/xkb_symbols "dvorak" {/,/^};/{
/xkb_symbols "dvorak" {/=
/^};/=
}
END_SED
) )
sudo sed -i.bak "${pos[1]}i\ include \"level3(ralt_switch)\"" /usr/share/X11/xkb/symbols/us
sudo dpkg-reconfigure xkb-data
# Change your keyboard. Change Back. Should work. But some bug. I cannot get the script works stably.
বাগ
- Xserver https://unix.stackexchange.com/q/290449/16920 এ কীবোর্ডটি আবার লোড করার ক্ষেত্রে টোডো সমস্যাটি ম্যানুয়াল পরিবর্তন সর্বদা কার্যকর হয় না।
- জটিলতা: জাস্টারভার সেই কীগুলি দ্রুত লোড করে না এবং পুনরায় চালু / লগআউট করার পরেও সমস্ত ক্ষেত্রে নয়।
সিস্টেমস: উবুন্টু 16.04
লিনাক্স কার্নেল: 4.4 - 4.6
কীবোর্ড মডেল: pc105
দ্বি-স্তরের কী-বাইন্ডিং পদ্ধতির জন্য কীবোর্ড লেআউট: মার্কিন-ডিভোরাক আন্তর্জাতিক
একটি স্তরের কী-বাইন্ডিং পদ্ধতির জন্য কীবোর্ড বিন্যাস: ইংলিশ (ডিভোরাক) = ইউএস-ডিভোরাক , তবে ইংরাজী (ক্লাসিক ডিভোরাক)
ctrl+shift+u
তারপরে টিপুনe4
এবং এন্টার টিপুন। যদি এটি কাজ করে তবে আপনি তার জন্য একটি সহজ কী পেতে আরও চেষ্টা করতে পারেন।