এক্স এর অধীনে তীর কীগুলিতে সুপার + hjkl ম্যাপিং


23

আমি মানচিত্র দেওয়ার চেষ্টা করছি:

Super+h -> Left
Super+j -> Down
Super+k -> Up
Super+l -> Right

এক্সের অধীনে বিশ্বব্যাপী এই ধারণাটি হল যে আমি আমার ঘরের সারিটি প্রায়শই তীর কীগুলি ব্যবহার করতে চাই না, তাই আমি এক্স এর অধীনে তীর কীগুলি অনুকরণ করতে সুপার মোডিফায়ার + এইচজেকিএল ব্যবহার করব this এটি করার কোনও উপায় আছে কি? ?

একটি জিনিস যা আমি চেষ্টা করেছি তা হল xbindkeys + xte এই কনফিগারেশনটি ব্যবহার করে:

"xte 'keydown Up' 'keyup Up'"
  Mod4+k

"xte 'keydown Down' 'keyup Down'"
  Mod4+j

"xte 'keydown Left' 'keyup Left'"
  Mod4+h

"xte 'keydown Right' 'keyup Right'"
  Mod4+l

তবে কীটি টিপতে এবং কোনও ফলাফল লক্ষ্য করার মধ্যে আমার মধ্যে অনেক বিলম্ব হয়েছে বলে মনে হয় এবং বেশিরভাগ সময় কিছুই হয় না।

এটি করার আরও কি আরও সুন্দর উপায় আছে যা আসলে কোনও দেরি না করেই কাজ করে?


2
এই ধরণের কাজটি করার জন্য এটি দুর্দান্ত বলে খুঁজে পেয়েছে: Code.google.com/p/autokey
টম পাওয়ার

ওএস কি? আমিও মনে করি আপনি কন্ট্রোল-সুপার বা এই জাতীয় কিছু কম্বো ব্যবহার করা ভাল।
harrymc

উত্তর:


15

ক্যাপলক + এইচজেকেএল থেকে তীর কীগুলি

  1. ~ / .Xmodmap তৈরি করুন এবং এটি ভিতরে রাখুন:

    clear Lock 
    keycode 66 = ISO_Level3_Shift
    
  2. যোগ Left, Down, Up, RightH, জে, কে, L চেপে এন্ট্রিগুলির তৃতীয় আইটেম হিসাবে /usr/share/X11/xkb/symbols/us(প্রথম অধ্যায়):

    key { [ h, H, Left, Left ] }; 
    key { [ j, J, Down, Down ] };
    key { [ k, K, Up, Up ] }; 
    key { [ l, L, Right, Right ] };
    
  3. চালান xmodmap ~/.Xmodmap

বিকল্প: ক্যাপস্লক হিসাবে নিয়ন্ত্রণ এবং তীর কীগুলিতে নিয়ন্ত্রণ_এল + এইচজেকিএল

এটি আমার বর্তমান সেটআপ। আমি কন্ট্রোল_এলটিকে নিয়ন্ত্রণ কী হিসাবে আনম্যাপ করেছি এবং এটিকে একটি বিশেষ সংশোধক (আইএসও_লিভেল ৩১স্ফিট) হিসাবে ব্যবহার করি, যা /usr/share/X11/xkb/symbols/usএইচজেকিএল ম্যাপিংয়ের জন্য ফাইলের তৃতীয় প্রবেশের সাথে মিলে যায় ।

  1. আমি / ইউএসআর / শেয়ার / এক্স 11 / এক্সকেবি / সিম্বল / আমাদের আগের মতো প্রথম স্তরের সংশোধন করেছি:

    key { [ h, H, Left, Left ] }; 
    key { [ j, J, Down, Down ] };
    key { [ k, K, Up, Up ] }; 
    key { [ l, L, Right, Right ] };
    
  2. তারপরে আমি এটি আমার ~ / .Xmodmap ফাইলটিতে রেখেছি:

    clear Control
    keycode 66 = Control_L
    add Control = Control_L
    add Control = Control_R
    keycode 37 = ISO_Level3_Shift
    

keycode 66ক্যাপস্লক এবং keycode 37বাম নিয়ন্ত্রণ

  1. এক্সমোডম্যাপ run / .Xmodmap চালান

এই সেটআপের সাহায্যে আমি নিয়ন্ত্রণ_এল + এইচজেকিএল সহ তীরচিহ্নগুলি ব্যবহার করতে পারি পাশাপাশি কন্ট্রোল_এল + ক্যাপস + এইচএল দিয়ে শব্দগুলি এড়িয়ে যেতে পারি। সহজ!


1
এটি আর্চ লিনাক্সেও কাজ করে, তবে xmodmap কমান্ডের সাথে সাথে নয়। পুনরায় বুট করার পরে, প্রায় পুরোপুরি কাজ করে। সাধারণত সিটিআরএল + শিফট + তীরটি সিটিআরএল + শিফট + সিএপিএস + এইচজেকিএল দিয়ে সাধারণত করা যায় না, সাধারণত শব্দগুলি সেল করার জন্য। কোন ধারণা কিভাবে এই কাজ করতে?
koss

হুম আপনি ঠিক বলেছেন, আমি বাম, ডাউন, উপরে, ডান আবার অন্য কলামে যুক্ত করাই সেরা। এটি হাইলাইট করার কাজ করে না তবে এটি স্বাভাবিকের মতো শব্দগুলি এড়িয়ে যাবে। আমি এই আরও সন্ধান করতে হবে।
উইলিয়াম ক্যাসারিন 17

এটি আমার পক্ষে যথেষ্ট কাজ করে। আমার একমাত্র সমস্যা, এটি ক্রোমে কাজ করে না এবং এটি একটি উপদ্রব।
মেজ

/var/lib/xkb/*.xkmপরিবর্তনগুলি /usr/share/X11/xkb/symbols/usকার্যকর করতে আপনাকে ক্যাশেড এক্সকেবি ফাইলগুলি সাফ করার প্রয়োজন হতে পারে।
একক

1
এটি উবুন্টু 14.04 এ কাজ করে। আমাকে xmodmap /home/alex/.Xmodmapএকটি স্টার্টআপ অ্যাপ্লিকেশন তৈরি করতে হয়েছিল এবং সমস্ত * .xkm ফাইল ফর্ম / var / lib / xkb মুছে ফেলতে হয়েছিল। সতর্কতা: আমি একটি উবুন্টু ভিএমকে এই শেষ পদক্ষেপটি ট্র্যাশ করেছিলাম এবং তারপরে আমার কীবোর্ড আর কোনও কাজ করবে না, তাই সাবধান হন এবং একটি ব্যাকআপ প্রস্তুত রাখুন :-) পাঠ্য নির্বাচন করতে শিফট + নিয়ন্ত্রণ + ক্যাপস + এইচজেকিএল ফায়ারফক্সে ভাল কাজ করে এবং থান্ডারবার্ড, তবে কিছু অ্যাপ্লিকেশনগুলিতে এটি হয় না (উদাহরণস্বরূপ ক্রোম)
আলেকজান্ডার রেকস্টাইনার

8

/ ইউএসআর / শেয়ার / এক্স 11 / এক্সকেবি / প্রতীকগুলিতে উল্লিখিত পরিবর্তনগুলি আমার জন্য কাজ করে না:
নতুন কীবোর্ডের বিবরণটি লোড করার সময় ত্রুটি

তবে প্রচুর বিরোধী হাওটো দেখার পরে আমি একটি সমাধান নিয়ে এসেছি, যা hjkl এর সাথে বাম, ডাউন, আপ, ডানদিকে মিশ্রিত বাম সুপার কী (বাম উইন্ডোজ কী / মোড 4) মানচিত্র করে। এটি একটি সিস্টেম-ব্যাপী সেটিং।

};আপনার / ইউএসআর / শেয়ার / এক্স 11 / এক্সকেবি / চিহ্ন / আমাদের প্রথম বিভাগের শেষে (ঠিক আগে ) এই ব্লকটি যুক্ত করুন :

//hjkl
//AltGr + hjkl
key <AC06> {        [         h, H, Left            ]       };
key <AC07> {        [         j, J, Down            ]       };
key <AC08> {        [         k, K, Up              ]       };
key <AC09> {        [         l, L, Right           ]       };
//Super_L -> Alt Gr
key <LWIN> { [ ISO_Level3_Shift ] }; //see below!

প্রথম কী লাইন AltGr + h বামে ম্যাপ করে।
শেষ কী লাইনটি বামদিকে সুপার কীটিকে AltGr এর মতো আচরণ করে।
আপনি এখানে যান:

সুপার + এইচ -> বাম
সুপার + জ -> ডাউন
সুপার + কে ->
সুপার + এল -> ডান দিকে

নতুন সেটিংস প্রয়োগ করতে, setxkbmap চালান বা আপনার সিস্টেম পুনরায় চালু করুন।

গুরুত্বপূর্ণ : এটি স্পষ্টতই সুপার কীটি অক্ষম করে, সুতরাং যদি আপনি অন্যভাবে নিজের সুপার কী ব্যবহার করেন (যেমন উইন্ডোটিকে অন্য ওয়ার্কস্পেসে সরিয়ে নিয়ে যাচ্ছেন) তবে আপনার এটি পুনরায় তৈরি করা উচিত নয়।
সুপারের পরিবর্তে ক্যাপস লকটি ব্যবহার করতে, সর্বশেষ কী লাইনটি এতে পরিবর্তন করুন:

key <CAPS> { [ ISO_Level3_Shift ] };

আমার কনফিগারেশন ফাইলের সম্পূর্ণ প্রথম বিভাগটি এখানে:

default
partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {

    name[Group1]= "English (US)";

    // Alphanumeric section
    key <TLDE> {        [     grave,    asciitilde      ]       };
    key <AE01> {        [         1,    exclam          ]       };
    key <AE02> {        [         2,    at              ]       };
    key <AE03> {        [         3,    numbersign      ]       };
    key <AE04> {        [         4,    dollar          ]       };
    key <AE05> {        [         5,    percent         ]       };
    key <AE06> {        [         6,    asciicircum     ]       };
    key <AE07> {        [         7,    ampersand       ]       };
    key <AE08> {        [         8,    asterisk        ]       };
    key <AE09> {        [         9,    parenleft       ]       };
    key <AE10> {        [         0,    parenright      ]       };
    key <AE11> {        [     minus,    underscore      ]       };
    key <AE12> {        [     equal,    plus            ]       };

    key <AD01> {        [         q,    Q               ]       };
    key <AD02> {        [         w,    W               ]       };
    key <AD03> {        [         e,    E               ]       };
    key <AD04> {        [         r,    R               ]       };
    key <AD05> {        [         t,    T               ]       };
    key <AD06> {        [         y,    Y               ]       };
    key <AD07> {        [         u,    U               ]       };
    key <AD08> {        [         i,    I               ]       };
    key <AD09> {        [         o,    O               ]       };
    key <AD10> {        [         p,    P               ]       };
    key <AD11> {        [ bracketleft,  braceleft       ]       };
    key <AD12> {        [ bracketright, braceright      ]       };

    key <AC01> {        [         a,    A               ]       };
    key <AC02> {        [         s,    S               ]       };
    key <AC03> {        [         d,    D               ]       };
    key <AC04> {        [         f,    F               ]       };
    key <AC05> {        [         g,    G               ]       };
    key <AC06> {        [         h,    H               ]       };
    key <AC07> {        [         j,    J               ]       };
    key <AC08> {        [         k,    K               ]       };
    key <AC09> {        [         l,    L               ]       };
    key <AC10> {        [ semicolon,    colon           ]       };
    key <AC11> {        [ apostrophe,   quotedbl        ]       };

    key <AB01> {        [         z,    Z               ]       };
    key <AB02> {        [         x,    X               ]       };
    key <AB03> {        [         c,    C               ]       };
    key <AB04> {        [         v,    V               ]       };
    key <AB05> {        [         b,    B               ]       };
    key <AB06> {        [         n,    N               ]       };
    key <AB07> {        [         m,    M               ]       };
    key <AB08> {        [     comma,    less            ]       };
    key <AB09> {        [    period,    greater         ]       };
    key <AB10> {        [     slash,    question        ]       };

    key <BKSL> {        [ backslash,         bar        ]       };
    // End alphanumeric section

    //hjkl
    //AltGr + hjkl
    key <AC06> {        [         h, H, Left            ]       };
    key <AC07> {        [         j, J, Down            ]       };
    key <AC08> {        [         k, K, Up              ]       };
    key <AC09> {        [         l, L, Right           ]       };
    //Super_L -> Alt Gr
    key <LWIN> { [ ISO_Level3_Shift ] };


};

আমি আশা করি এটি কাউকে সাহায্য করবে ...

কারও যদি এর থেকে আরও ভাল সমাধান থাকে তবে দয়া করে আমাকে জানান let

সম্পাদনা: ফেডোরায় পরীক্ষিত।


আমি নিজেই এই পদ্ধতির কাজটি করেছি, তবে এটি সমস্ত অ্যাপ্লিকেশনের জন্য কাজ করছে না! xevপরিষ্কারভাবে বলে Leftএবং এটি বেশিরভাগ অ্যাপ্লিকেশনগুলির জন্য কাজ করে। তবে কিছু প্রোগ্রাম কেবলমাত্র "আসল" তীর কীগুলিতে প্রতিক্রিয়া জানায়, যেমন সাব্লাইম টেক্সট এডিটর এবং অন্যান্য।
তারাসাচ

1
রেডহাট 6.2 তে বর্ণিত হিসাবে কাজ করে। আমার ঘা কব্জি আপনাকে ধন্যবাদ!
বাকফিল্ডপ্লাটিপাস

আপনাকে মৌলিক ধন্যবাদ 6, এটি নীচে বর্ণিত পদক্ষেপগুলির পরে উবুন্টুতে কাজ করে। উবুন্টুতে একটি সমস্যা রয়েছে (উবুন্টু ১৪.০৪ তে পরীক্ষিত) যে .xkm ফাইলগুলি পুনরায় সংকলিত হয় না এবং এভাবে / usr / share / X11 / xkb / চিহ্ন / * এর পরিবর্তনের কোনও প্রভাব নেই। এটি উন্নত করার জন্য / var / lib / xkb এবং রিবুট সিস্টেম থেকে সমস্ত * .xkm ফাইল সরান। এর পরে * .xkm ফাইলগুলি পুনরায় সংযুক্ত করা হবে। আরও তথ্যের জন্য দয়া করে দেখুন: ubuntuforums.org/showthread.php?t=1589744
এমপিটি

3

আমি নিজে চেষ্টা করে দেখিনি তবে মনে হচ্ছে xkb আপনি যা করতে চান তা করতে পারে http://en.wikedia.org/wiki/X_keyboard_exટેশন

আমার উবুন্টুতে একটি প্যাকেজ রয়েছে যার নাম x11-xkb-utils যা আশাব্যঞ্জক বলে মনে হচ্ছে :)


xkb সুপার কী দিয়ে কোনও সংশোধক হিসাবে কাজ করতে পারে না। xkb কেবলমাত্র (ক্রম) আনমোডাইফাইড, শিফট, অল্টগ্রি, শিফট-অল্টগ্রিয়ারের সাথে কাজ করে। উচ্চ-স্তরের সংশোধককেও বরাদ্দ করা যেতে পারে (যেমন বিল ক্যাসারিনের ক্যাপসলকের উদাহরণে) তবে তারা কোনও মানকীয় কীবোর্ডে আসে না। একটি উচ্চতর সংশোধককে ম্যাপিং সুপার এটিকে সুপার হিসাবে কাজ করা থেকে সরিয়ে দেয় (বেসিকাল 6 এর উদাহরণ হিসাবে)।
dotancohen

3

কোনও সূডোর প্রয়োজন নেই, এখান থেকে উত্পন্ন , এটি সংযুক্ত হওয়ার সাথে সাথে এটি কাজ করার জন্য সংশোধিত Alt

fileনীচের বিষয়বস্তুটিতে একটি ডাব্লু তৈরি করুন :

! remove Caps Lock
clear lock
! remove Lock = Caps_Lock
! remove Shift = Caps_Lock
keycode 66 = NoSymbol NoSymbol
keycode 66 = ISO_Level3_Shift

keysym h = h H NoSymbol NoSymbol Left Left
keysym j = j J NoSymbol NoSymbol Down Down
keysym k = k K NoSymbol NoSymbol Up Up
keysym l = l L NoSymbol NoSymbol Right Right

! some sugar
keysym o = o O NoSymbol NoSymbol BackSpace NoSymbol
keysym i = i I NoSymbol NoSymbol Delete NoSymbol`

ডাকা

xmodmap file

মানচিত্রের AltGrকরার Capsপরিবর্তে Super, তাই আপনি বরং সেট পারে

keycode 66 = Super_L

(বা ওয়াটারভার xevআপনাকে মারতে দেয় Super)

চিনির অংশটি ব্যাকস্পেস এবং ডেলকে একটি বিশেষ কার্যভার হিসাবে আই এবং ও দেয়, আপনি এটি বাদ দিতে পারেন, বা এটি বোনাস হিসাবে দেখতে পারেন বা এটি নিজের উপর প্রসারিত / সামঞ্জস্য করার প্রেরণা হিসাবে দেখবেন;)

PS: এটির সাথে পরীক্ষা নিরীক্ষা করে, "ডিফল্ট" ম্যাপিংকে অনুরোধ করে পুনরায় সেট করুন

setxkbmap

এটি আমার পক্ষে কাজ করে না, তবে আমাকে সঠিক পথে পৌঁছেছে। এটি আমার জন্য কাজ করে: github.com/sblask/dotfiles/commit/…
সেবাস্তিয়ান ব্লাস্ক

2

শেষ পর্যন্ত মনে হচ্ছে আমি এমন সমাধান খুঁজে পেয়েছি যা সমস্ত সংশোধক (সিটিআরএল +, শিফট +, সিআরটিএল + শিফট +) এবং সাব্লাইম টেক্সট 2 এর সাথে কাজ করে।

সমস্ত গৌরব এই রত্ন কনফিগারেশনে যায় যা আমি সম্প্রতি http://www.spinics.net/lists/xorg/msg35931.html খুঁজে পেয়েছি । এটি ijkl তীরগুলি বর্ণনা করে, তবে সহজেই এইচকেকিএল নেভিগেশনের জন্য এটি পরিবর্তন করা যেতে পারে। আপনাকে আপনার কীবোর্ড লেআউট ফাইল (গুলি) / ইউএসআর / শেয়ার / এক্স 11 / এক্সকিবি / প্রতীক / * (ব্যক্তিগতভাবে, আমি / ইউএসআর / শেয়ার / এক্স 11 / এক্সকিবি / চিহ্ন / টাইপো আপডেট করতে হবে যা আমি আমার কীবোর্ড বিন্যাসে এক্সকেবি দিয়ে অন্তর্ভুক্ত করেছি) বিকল্প "বিবিধ: টাইপো", সুতরাং এটি কোনও কীবোর্ড বিন্যাসের জন্য কাজ করে)। কনফিগারেশনটি ধরে নিয়েছে যে সংশোধক কী ISO_Level3_Shift প্রেরণ করে (ISO_Level3_Shift এ সুপার বা আল্টিকে কীভাবে বাঁধতে হয় তার অনেকগুলি উপায় রয়েছে)।

মূল সংজ্ঞাগুলি দেখতে হবে (আপনি যদি সংশোধন করেন তবে NoSymbol ব্যবহার করুন .. / সাইম্বলস / টাইপো):

key <AC07> {    
    type="MOD5_NAV",
    [NoSymbol, NoSymbol, Down, Down],   
    actions[Group1] = [NoAction(), NoAction(), RedirectKey(key=<DOWN>, clearmods=ISO_Level3_Shift)]
};

এছাড়াও আপনাকে সম্পাদনা / usr / শেয়ার / X11 / প্রকার / বেসিক এবং "এমওডি 5_এনএভি" টাইপ ঘোষণা করতে হবে:

type "MOD5_NAV" {
    modifiers = Shift+Mod5;
    map[None] = level1;
    map[Shift] = level2;
    map[Mod5] = level3;
    map[Mod5+Shift] = level3;
    level_name[Level1] = "Base";
    level_name[Level2] = "Caps";
    level_name[Level3] = "Arrows";
};

সাব্লাইম টেক্সট 2 এর হিসাবে সমাধানটি আরও কৌশলযুক্ত এবং হ্যাকিশ। উপরে উল্লিখিত হিসাবে, সাব্লাইম টেক্সট 2 সরাসরি ডিভাইস থেকে কীকোডগুলি পড়ে এবং তাই এক্সকেবির কিছু বৈশিষ্ট্য উপেক্ষা করে (এবং তীরগুলির সাথে এক্সকেবি ট্রিকের কোনও প্রভাব নেই)। একটি প্রায় পরিত্যক্ত তবে এখনও কাজ করছে প্রকল্প, গিজমো ডেমন http://gizmod.sourceforge.net/ । কিছু লড়াই এবং গুগল করার পরে আমি এটি আমার ডেবিয়ান হুইজিতে সফলভাবে সংকলন করেছি। তারপরে আমি এই গিজমোড স্ক্রিপ্টটি তৈরি করেছি এবং এটিকে ~ / .gizmod / modules.d / 010- কীবোর্ডভিমোড- সাবলেমটেক্সট 2.py http://pastebin.com/HNQgGEwD এ রেখেছি

পিএস অন লিনাক্স আমি কখনও কখনও কীবোর্ডরেমা এমপিবুক মিস করি। ওএস এক্স সফ্টওয়্যারের এই দুর্দান্ত শান্তি কেবলমাত্র কয়েকটি চেকবাক্সের সাহায্যে এ জাতীয় নেভিগেশন (এবং আরও অনেক কিছু) সক্ষম করতে পারে।


1

আমি ডেবিয়ান / উবুন্টুতে এইচএইচকেবি ব্যবহারকারী এবং এই সমাধানটি আমার পক্ষে কাজ করে।

Left Ctrlসক্রিয় কী ব্যবহার করুন ।

$ vi ~/.Xmodmap
keycode 37 = ISO_Level3_Shift

অধীনে এই কোড যোগ করুন // End alphanumeric sectionমধ্যে মৌলিক ব্লক , / usr / শেয়ার / ব্যবহারে X11 / XKB / চিহ্ন / আমাদের

//hjkl
//Ctrl + hjkl
key <AC06> {    [   h,  H,  Left    ]   };
key <AC07> {    [   j,  J,  Down    ]   };
key <AC08> {    [   k,  K,  Up      ]   };
key <AC09> {    [   l,  L,  Right   ]   };

এখন, আপনি, বাম করার জন্য ব্যবহার নিচে, আপ এবং সঠিক কী সক্ষম হওয়া উচিত Ctrl+ + h, j, k, l

যাইহোক, যদি আপনি ব্যবহার করেছেন pentadactyl ফায়ারফক্সে, আপনি এই কোড যোগ করতে পারেন ~ / .pentadactylrc

map -modes=i,c <C-down> <down>
map -modes=i,c <C-up> <up>


1

এইটি আমার পক্ষে আর্কে কাজ করে। এটি ক্যাপ + hjkl টি তীর কীগুলিতে পুনরায় তৈরি করে এবং ক্যাপগুলিতে Shift + Caps।

নিম্নলিখিতটি লিখুন ~/.Xmodmap:

! Remap caps lock to special modifier, but still allow shift+caps to 
toggle caps lock
clear lock
clear mod5
add lock = Mode_switch
keycode 66 = Mode_switch Caps_Lock NoSymbol NoSymbol
keycode 43 = h H Left Left
keycode 44 = j J Down Down
keycode 45 = k K Up Up
keycode 46 = l L Right Right

এটি পুনরায় বুট করুন বা এটি সেট করুন xmodmap ~/.Xmodmap

আপনি যদি ত্রুটি পান তবে:

X Error of failed request:  BadValue (integer parameter out of range for operation)

সম্ভবত এটির অর্থ এই যে আপনাকে mod5(বর্তমানে যা সেট করা আছে Mode_switch) ব্যতীত অন্য কিছু মুছতে হবে । এর সাথে আপনার বর্তমান মডিফায়ার ম্যাপিংগুলি পরীক্ষা করুন xmodmap

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.