টার্মিনালে ক্যাপগুলি লক করা আছে কিনা তা পরীক্ষা করুন


8

টার্মিনাল.এপ-তে কমান্ড লাইনটি ক্যাপস লক চালু আছে বা বন্ধ আছে কিনা তা জানানোর জন্য কি সিস্টেমকে জিজ্ঞাসা করার কোনও উপায় আছে?


3
একটি চিঠি টাইপ করলে তাৎক্ষণিকভাবে ক্যাপস লকটির স্থিতি দেখাবে না? এই তথ্যের আসল ব্যবহার কী। সম্ভবত আপনি এক্সওয়াই সমস্যা সম্পর্কে জিজ্ঞাসা করছেন ?
bmike

ঠিক কি আপনি সাধন করার চেষ্টা করছেন? তৃতীয় পক্ষের ইউটিলিটিগুলি রয়েছে যা আমি আপনাকে জানাতে পারি যা মডিফায়ার কীগুলির স্থিতি বলতে পারে তবে দেশীয় (ডিফল্টরূপে ইনস্টল করা) কিছুই নেই, তবে এর অর্থ এটি নেই।
ব্যবহারকারী 3439894

2
ইনপুট উত্সটি গ্রীক কিনা তা বোঝাতে আমি LED ব্যবহার করছি। আমি চাই যদি কেবল ইনপুট উত্সটি ইংরেজী হয় এবং ক্যাপস লক বন্ধ থাকে if
টুথর্ট

1
@ লরেন্স এখন এটি একটি দুর্দান্ত সেটআপ। আপনি যদি প্রশ্নটিতে এটি যুক্ত করতে চেয়েছিলেন - দুর্দান্ত। আমি বাজি ধরেছি যে আপনি কীভাবে এই পরিবর্তনটি সম্পাদন করেছেন তা প্রচুর লোকেরা জানতে আগ্রহী।
bmike

1
আমি গিতুব থেকে কারাবাইনার এবং ব্যস্তলুপ / ​​ম্যাকলাইট ব্যবহার করেছি।
টুথরট

উত্তর:


9

ম্যাকস্ক্রিপ্টারে স্টেফেনকের লেখা একটি দুর্দান্ত কমান্ড লাইন কোড রয়েছে

স্টিফেনের কোড আপনাকে সেমিডি, বিকল্প, নিয়ন্ত্রণ, শিফট এবং ক্যাপস লক সনাক্ত করতে দেয়।

তার পোস্টে তিনি কোড এবং এটি ডাউনলোড পিন সরবরাহ করেন।

আপনি হয় এটি ডাউনলোড করতে পারেন বা ফাউন্ডেশন প্রকল্পটি ব্যবহার করে এক্সকোডে নিজের তৈরি করতে পারেন।

আমি কেবল এল ক্যাপিটনে উভয় উপায়ে পরীক্ষা করেছি এবং তারা উভয়ই কাজ করে।

আপনি যদি Xcode.app এ নিজের তৈরি করতে চান তবে কোডটি হ'ল:

#import <Carbon/Carbon.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        unsigned int modifiers = GetCurrentKeyModifiers();
        if (argc == 1)
            printf("%d\n", modifiers);
        else {
            int i, result = 1;
            for (i = 1; i < argc; ++i) {
                if (0 == strcmp(argv[i], "shift"))
                    result = result && (modifiers & shiftKey);
                else if (0 == strcmp(argv[i], "option"))
                    result = result && (modifiers & optionKey);
                else if (0 == strcmp(argv[i], "cmd"))
                    result = result && (modifiers & cmdKey);
                else if (0 == strcmp(argv[i], "control"))
                    result = result && (modifiers & controlKey);
                else if (0 == strcmp(argv[i], "capslock"))
                    result = result && (modifiers & alphaLock);
            }
            printf("%d\n", result);
        }
    }
    return 0;
}

---------- (আপডেট ->

আপনি যদি এটি টার্মিনাল.অ্যাপ থেকে সংকলন করতে চান

একটি সরল পাঠ্য ফাইলে কোড রাখুন। আমি স্রেফ TextEdit.app এবং একটি সাধারণ পাঠ্য নথি ব্যবহার করেছি।

আপনার ফাইলের মতো একই ডিরেক্টরিতে সিডি করুন। এটি নিশ্চিত করুন যে এক্সটেনশনটি। মি। (.সিও ঠিক আছে)

তারপরে রান করুন।

gcc  -framework Carbon CheckModKeys.m -o CheckModKeys

চেকমডকিস.এম আপনার ফাইল।

আউটপুট করা অ্যাপটির নাম চেকমডকিস।

<-)


ক্যাপগুলি লক শনাক্ত করতে আপনার কমান্ডটি দেখতে এমন কিছু দেখাচ্ছে:

/Users/UserName/MyFolder/CheckModKeys  capslock

একটি 1 বা 0 ফিরে আসবে।

জন্য 1

বন্ধ জন্য 0


সমস্ত কৃতিত্ব স্টেফেনের কাছে যায়। আমার মনে আছে তিনি ২০০৯ সালে এইভাবে পোস্ট করেছিলেন। এবং এটি আজও কাজ করে ..


ধন্যবাদ! আমি কীভাবে এটি সংকলন করব? আমি চেষ্টা করেছি gcc -o getmod getmod.cকিন্তু তা ফিরে এসেছিল getmod.c:4:5: error: expected expression @autoreleasepool { ^ 1 error generated.
টুথরট

@ লরেন্স আপডেট উত্তর দেখুন
মার্চুন্তে

আমি এখনও পেয়েছি: architect architect আর্কিটেকচারের জন্য অনির্ধারিত চিহ্নগুলি x86_64: "_objc_autoreleasePoolPop", থেকে: _ _ মেইন -93f6a5.o "_objc_autoreleasePoolPush" এ রেফারেন্স: _ মেইন-মাইন -93f6a5.o এলডি: প্রতীক (গুলি) খুঁজে পাওয়া যায়নি x86_64 বাজ: ত্রুটি: লিঙ্কার কমান্ড প্রস্থান কোড 1 দিয়ে ব্যর্থ হয়েছে (অনুরোধ দেখতে -v ব্যবহার করুন) ``
টুথ্রট

আপনি কী ওএস এ করছেন
মার্খুন্তে

1
চ্যাটটি শেষ হয়ে গেছে, এবং আমি এটিও সংকলন করতে পারি না। আপনি কোথায় এটি সংকলন করতে পারবেন, @ টুথ্রোট?
লার্স ন্যাস্ট্রিম

2

আপনি যদি এক্সকিয়ার্টজ ইনস্টল করে থাকেন এবং হয় চলতে থাকে বা এটি চালুর বিষয়ে আপত্তি না রাখলে আপনি চালাতে পারেন:xset -q

Keyboard Control:
  auto repeat:  on    key click percent:  0    LED mask:  00000000
  XKB indicators:
    00: Caps Lock:   off    01: Num Lock:    off    02: Shift Lock:  off
    03: Group 2:     off    04: Mouse Keys:  off    05: Scroll Lock: off

আমি না xsetব্যাশ একটি ডিফল্ট ব্যবহারকারী অ্যাকাউন্ট ব্যবহার করে এল ক্যাপটেনের উপর। এই নির্দিষ্ট শেলের অংশ বা কমান্ডটি কাজ করতে আপনাকে ইনস্টল করতে হবে এমন কিছু?
বিমিক

@ বিমিক, এটির xsetএকটি অংশ X11যা ডিফল্টরূপে ইনস্টল করা হয় না। : আপনি এখানে পেতে পারেন XQuartz
user3439894

3
@ মিকি টি কে, আইএমও ব্যবহার করে সমস্যাটি xsetহ'ল এটি এক্সকিয়ার্টজ্যাপের জন্য এটি খুলতে (`xset) টার্মিনালে চালিত করে। আমার কাছে এটি অনাকাঙ্ক্ষিত আচরণ, কারণ আমি কেবল একটি সি এল এল ইউটিলিটি চাই যা অন্য কোনও বিএসডি কমান্ডের মতো চলে।
ব্যবহারকারী 3439894
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.