چرا؟وقتی از دستور زیر برای تغییر طرحبندی کیبورد استفاده بشه:
setxkbmap -option grp:switch,grp:alt_shift_toggle us,ir
در اصل دو طرحبندی تعریف و بوسیلهٔ Alt+Shift بین اونها تعویض انجام میشه:
rules: evdev
model: pc105
layout: us,ir
options: grp:switch,grp:alt_shift_toggle
اسکریپت پایتونی که من به شما معرفی کردم هم با موشکافی خروجی دستور setxkbmap -query طرحبندی حاضر رو بدست میاره بنابراین اگر خروجی طبق بالا باشه فقط اولین طرحبندی با عبارت Regex برابر میشه.
چار:برای تعویض طرحبندیهای کیبورد از اسکریپت زیر استفاده کنید:
#!/usr/bin/env bash
# filename: xkblayout.shlayout=$(setxkbmap -print | awk -F"+" '/xkb_symbols/ {print $2}')
if [ "$layout" = us ]; then
setxkbmap ir
else
setxkbmap us
fi
پیکربندی i3:
bindcode Shift+64 exec ~/xkblayout.sh # Shift+Alt
bindcode Mod1+50 exec ~/xkblayout.sh # Alt+Shift_L
bindcode Mod1+62 exec ~/xkblayout.sh # Alt+Shift_R
منابع:https://faq.i3wm.org/question/3953/execute-an-sh-file-using-bindsym.1.htmlhttp://unix.stackexchange.com/a/48858 اوبونتو...
ما را در سایت اوبونتو دنبال می کنید
برچسب : نویسنده : استخدام کار ubuntu بازدید : 41 تاريخ : يکشنبه 25 بهمن 1394 ساعت: 6:42