টার্মিনাল.এপ-তে কমান্ড লাইনটি ক্যাপস লক চালু আছে বা বন্ধ আছে কিনা তা জানানোর জন্য কি সিস্টেমকে জিজ্ঞাসা করার কোনও উপায় আছে?
টার্মিনাল.এপ-তে কমান্ড লাইনটি ক্যাপস লক চালু আছে বা বন্ধ আছে কিনা তা জানানোর জন্য কি সিস্টেমকে জিজ্ঞাসা করার কোনও উপায় আছে?
উত্তর:
ম্যাকস্ক্রিপ্টারে স্টেফেনকের লেখা একটি দুর্দান্ত কমান্ড লাইন কোড রয়েছে
স্টিফেনের কোড আপনাকে সেমিডি, বিকল্প, নিয়ন্ত্রণ, শিফট এবং ক্যাপস লক সনাক্ত করতে দেয়।
তার পোস্টে তিনি কোড এবং এটি ডাউনলোড পিন সরবরাহ করেন।
আপনি হয় এটি ডাউনলোড করতে পারেন বা ফাউন্ডেশন প্রকল্পটি ব্যবহার করে এক্সকোডে নিজের তৈরি করতে পারেন।
আমি কেবল এল ক্যাপিটনে উভয় উপায়ে পরীক্ষা করেছি এবং তারা উভয়ই কাজ করে।
আপনি যদি 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.
আপনি যদি এক্সকিয়ার্টজ ইনস্টল করে থাকেন এবং হয় চলতে থাকে বা এটি চালুর বিষয়ে আপত্তি না রাখলে আপনি চালাতে পারেন: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
হ'ল এটি এক্সকিয়ার্টজ্যাপের জন্য এটি খুলতে (`xset) টার্মিনালে চালিত করে। আমার কাছে এটি অনাকাঙ্ক্ষিত আচরণ, কারণ আমি কেবল একটি সি এল এল ইউটিলিটি চাই যা অন্য কোনও বিএসডি কমান্ডের মতো চলে।