انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: حل مشکل Alt + shift سمت راست برای تغییر زبان در xfce  (دفعات بازدید: 3547 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین alitoos23

  • Full Member
  • *
  • ارسال: 132
  • جنسیت : پسر
این مشکل برای من وجود داشت که زمانی که در تنظیمات xfce برای تغییر زبان کلید های alt + shift را تنظیم می کردم فقط با alt +shift سمت چپ درست بود و alt+ shift سمت راست فقط زبان رو فارسی می کرد و از فارسی به انگلیسی نمی رفت

بعد از جست و جو به این پست تو همین انجمن رسیدم که توضیحات کاملی رو درباره علت این مشکل داده بودند:
https://forum.ubuntu-ir.org/index.php?topic=146547.0

علت این بود که ابونتو از سیستم استانداردی به نام  ISIRI 9147 استفاده میکنه که در زبان فارسی alt سمت راست کاربرد دیگری دارد و برای انتخاب کارکتر سطح سوم کلید ها استفاده میشه یعنی در زبان فارسی alt سمت راست دیگه alt نیست بلکه کلید altGr محسوب میشه.

از اونجایی که همه به alt + shift سمت راست برای تغییر زبان عادت کردیم( با اینکه خیلی از دوستان در همین انجمن بسیار پیشنهاد می دادند که عادتون رو عوض کنید )ولی به قول معروف ترک عادت موجب مرض است  ;D ;D پس من مصر بودم همون عادت رو پیاده کنم به هر حال گنو/لینوکس هستش رو آزادی برای هر کاری  ;)

بعد از جست و جو کردن به چند تا دستور جالب رسیدم :

۱-برسی کارکتر معادل و کد هر کلید روی صفحه کلید که توسط سیستم شناسایی میشه:
xev

۲-لیست تمام کد کلید های صفحه و کاراکتر اختصاص داده شده به آن کد:
xmodmap -pke
۳-تغییر کاراکتر اختصاص داده شده به هر کد کلید:
xmodmap -e 'keycode کاکترهایی که می خواهید اخصاص دهید = کد کلید'

خوب بدهی که ما کارکتر جدیدی رو نمی خواهیم اختصاص دهیم  بلکه می خواهیم اونا رو ویرایش و جابجا کنیم مثلا حرف پ رو ببریم جای \ یا اینه altGr رو به alt سمت راست تبدیل کنیم پس:
ابتدا xev رو اجرا می کنیم :
روی اون پنجره ی کوچکی که باز میشه کلیک کنید و دیگه موس رو تکون ندید
اگر دقت کنید در ترمینالی که دستور xev رو اجرا کردید تمام اعمالی که با موس و کی بورد انجام میدهید رو با جزئیات نمایش میده پس اون کلیدی که می خواهید تغییر اش دهید رو فشار دهید خواهید دید که کد کلید به همذا عملکرد فعلی اون رو نمایش میده : برای مثال من کلید alt سمت راست را در حالت زبان فارسی فشار میدم خروجی ترمینال به این شکل هست :


خوب مشخص شد کد این کلید 108 هست حالا اگر دستور xmodmap -pke اجرا کنیم می بینم جلوی کد 108 نوشته
keycode 108 = Alt_R ISO_Next_Group ISO_Level3_Shift
که مشخصه که Alt_R مال زبان انگلیسی هست و ISO_Level3_Shift مال زبان فارسی هست که به همون معنی altGr هست

حالا alt سمت راست را برسی میکنیم که کد ۶۴ هست :
keycode  64 = Alt_L ISO_Next_Group Alt_L ISO_Next_Group

خوب حالا که فهمیدیم alt سمت راست چی و فرقش با alt سمت چپ چی میتونیم alt سمت راست را به شکل مشابه alt سمت چپ تغییر دهیم به این شکل :

xmodmap -e 'keycode 108 = Alt_R ISO_Next_Group Alt_R ISO_Next_Group'
کلید کد ۱۰۸ را که همون alt سمت راست هست را به عمکرد Alt_R ISO_Next_Group Alt_R ISO_Next_Group تغییر می دهیم


در نظر داشته باشید با این کار دیگر به کارکتر های سطح سوم زبان فارسی دسترسی ندارید مگر اینکه عمکرد ISO_Level3_Shift را به روش مشابه به کلید دیگری اختصاص دهید.

این فرایند فقط در زمان حضور در سیستم هست و پس از logout و login دوباره از بین میره که باید این دستور رو در startup قرار دهید


البته فکر کم راه دیگه ای هم داشته باشه از تو فایل های پیکربندی این دستور ولی منم بلد نیستم :)

و در اخر اینکه این همه داستان و ماجرا که نوشتم در gnome و kde خیلی راحت هست و تنظیم گرافیکی در خود تنطیمات میز کار داره که همون لینکی که اول گذاشتم اشاره شده.

موفق باشید ;)
« آخرین ویرایش: 27 شهریور 1400، 10:02 ب‌ظ توسط alitoos23 »

آفلاین #unknown#

  • Sr. Member
  • *
  • ارسال: 441
  • جنسیت : پسر
من فقط menu رو برای تغییر زبان گزاشته بودم (xfce)
در گنوم هم shift + menu


آفلاین hypocrite

  • Newbie
  • *
  • ارسال: 22
میگن یه برنامه نویس برای انجام یه کاری که ۵ دقیقه شاید طول بکشه چند روزش رو صرف نوشتن برنامه ای میکنه که اون کار رو براش انجام بده
اینجا هم همین موضوع صادقه  :دی

آفلاین ABOLDOM

  • High Hero Member
  • *
  • ارسال: 1923
  • جنسیت : پسر
خیلی عالی مفید ممنونم همیشه دنبالش بودم که چرا البته دقیقا و خود میز کار بزور میشه درستش کرد گاهی اوقات هم نه!
ولی حالا که فهمیدم چجوری میشه درستش کرد نمیخوام کنم و پیشفرضش میخوام بمونه ولی خیلی دوست داشتم عوضش کنم (بر میگرده به همون مرض دونستن) ;D

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
دوستان میدونم حالا میریزید سرم که این چه کاریه  ;D ولی من چون خیلی سرچ کردم و نتیجه مطلوبی نگرفتم و چون LXQt استفاده میکنم و این تنظیمات گرافیکی نتوانستم درست کنم کلا اومدم level 3 که با alt_r باشه برای فارسی حذف کردم. چون واقعا هیچ استفاده ای نداشت واسم برای همین درست شده الان با Shift_Alt سمت راست عوض میشه.

در این فایل:
/usr/share/X11/xkb/symbols/ir
هر چی خط کد پایین بود پاک کردم:
include "level3(ralt_switch)"
البته ظاهرا نباید توی این مسیر usr چیزی تغییر بدیم ولی خوب اگه میشه یه کپی ازش گرفت و توی مسیرهای دیگر قرارداد ممنون میشم به منم بگید.

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19720
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
نصف کاربردهای صفحه‌کلید فارسی تو سطح سومشه، چه‌طور استفاده‌ای براتون نداشته؟ 🤔
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین alitoos23

  • Full Member
  • *
  • ارسال: 132
  • جنسیت : پسر
لابد نداشته دیگه ما کلا می خواهبم یه متن فارسی برای گفت و گو با فارسی زبانان بنویسیم آخه کدوم از اینا به کار میاد مگه می‌خوایم مقاله علمی بنویسیم . مگه اینجا کلاس انشا است؟!  :(


حالا شما بفرمایید کدوم روش برای انجام این کار بهتره ؟ روش من یا این دوستمون؟
« آخرین ویرایش: 31 شهریور 1400، 12:46 ب‌ظ توسط alitoos23 »

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19720
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
لابد نداشته دیگه ما کلا می خواهبم یه متن فارسی برای گفت و گو با فارسی زبانان بنویسیم آخه کدوم از اینا به کار میاد مگه می‌خوایم مقاله علمی بنویسیم . مگه اینجا کلاس انشا است؟!  :(
یعنی تا حالا نخواستید مثلاً وسط متن فارسی بنویسید ‪C++‬؟ این کار بدون سطح سوم غیرقابل انجامه. همین‌طور نویسهٔ … که در فارسی بسیار پرکاربرده، فقط در سطح سوم وجود داره. برای زدن برچسب در شبکه‌های اجتماعی هم نیاز به # و _ است که در سطح سوم فارسی هستن.

حالا شما بفرمایید کدوم روش برای انجام این کار بهتره ؟ روش من یا این دوستمون؟
روش محبوب من، استفاده از دکمهٔ «قفل تبدیل» برای جابه‌جایی بین زبان‌هاست که هم سریع‌تر و راحت‌تره، چون فقط یک دکمه است و هم دکمهٔ بزرگیه که در غیر این صورت، کاربرد خاصی نداره.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
لابد نداشته دیگه ما کلا می خواهبم یه متن فارسی برای گفت و گو با فارسی زبانان بنویسیم آخه کدوم از اینا به کار میاد مگه می‌خوایم مقاله علمی بنویسیم . مگه اینجا کلاس انشا است؟!  :(
یعنی تا حالا نخواستید مثلاً وسط متن فارسی بنویسید ‪C++‬؟ این کار بدون سطح سوم غیرقابل انجامه. همین‌طور نویسهٔ … که در فارسی بسیار پرکاربرده، فقط در سطح سوم وجود داره. برای زدن برچسب در شبکه‌های اجتماعی هم نیاز به # و _ است که در سطح سوم فارسی هستن.

حالا شما بفرمایید کدوم روش برای انجام این کار بهتره ؟ روش من یا این دوستمون؟
روش محبوب من، استفاده از دکمهٔ «قفل تبدیل» برای جابه‌جایی بین زبان‌هاست که هم سریع‌تر و راحت‌تره، چون فقط یک دکمه است و هم دکمهٔ بزرگیه که در غیر این صورت، کاربرد خاصی نداره.

والا نمیدونم درست منظورتون متوجه شدم یا نه ولی خوب من فقط غیر از حروف فارسی فقط از کاما و نقطه استفاده میکنم که خوب اونارم دارم و تنظیم کردم. برای # و نمیدونم بقیه موارد هم که خوب زبان انگلیسی میکنم. اتفاقا من کار دانشگاهی و... هم انجام میدم و مقاله هم مینویسم فقط نهایاتا کاما و نقطه استفاده میکنم بقیه موارد را هم که خوب یه پلاگین میاد حل میکنه و نشانه گذاری میکنه

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19720
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
خب اشتباه می‌نویسید. متن شما باید فی نفسه درست باشه، نه که به زور افزونه، فقط در یک برنامهٔ خاص، درست (در واقع غلط) دیده بشه.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
بله اینم حرفیه ولی خوب در کل میگم واسه کسایی که زیاد با فارسی کار ندارن و خوب واقعا لازم دارن که کیبرد شخصی سازی کنن میگم، درسته اون استاندارده ولی خوب دنیای آزاد دیگه هرکسی میتونی طبق خواستش خیلی چیزارو تغییر بده