خرید بک لینک
چرا؟
وقتی از دستور زیر برای تغییر طرحبندی کیبورد استفاده بشه:
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.sh

layout=$(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.html
http://unix.stackexchange.com/a/48858

- - , .

برچسب: نویسنده: استخدام کار تاريخ: يکشنبه 25 بهمن 1394 ساعت: 6:42

صفحه بندی