আমি ক্যাপসলকের নেতৃত্বে জোর করার চেষ্টা করছি। xset
আমার জন্য কাজ করে না, তাই আমি ব্যবহার করার চেষ্টা করছি setleds
।
একটি গ্রাফিকাল কনসোলে, এই কমান্ডটি ফিরে আসে:
> LANG=C setleds -L +caps
KDGKBLED: Inappropriate ioctl for device
Error reading current flags setting. Maybe you are not on the console?
ভার্চুয়াল টার্মিনালে এটি কাজ করে, তবে প্রভাবটি ভার্চুয়াল টার্মিনালের স্থানীয়। যা বুঝি, তা থেকে দৌড়াতে
> setleds -L +caps < /dev/tty1
ভার্চুয়াল টার্মিনাল থেকে (আমার এক্স সার্ভার tty1 এ বসে আছে) কাজ করা উচিত। তবে এর জন্য রুট অ্যাক্সেস দরকার।
এক্স সার্ভারের অন্তর্নিহিত কনসোলে একটি কমান্ড প্রেরণের কোনও উপায় আছে কি না তা বলা xserver থেকে বা অন্য ভিটি থেকে, মূল ছাড়াই হোক?
সম্পাদনা করুন: মার্ক প্লটনিকের একটি পরামর্শ থেকে এবং এখানে পাওয়া কোডের ভিত্তিতে আমি নিম্নলিখিতগুলি লিখেছি এবং সংকলন করেছি:
#include <X11/Xlib.h>
#include <X11/XKBlib.h>
#define SCROLLLOCK 1
#define CAPSLOCK 2
#define NUMLOCK 16
void setLeds(int leds) {
Display *dpy = XOpenDisplay(0);
XKeyboardControl values;
values.led_mode = leds & SCROLLLOCK ? LedModeOn : LedModeOff;
values.led = 3;
XChangeKeyboardControl(dpy, KBLedMode, &values);
XkbLockModifiers(dpy, XkbUseCoreKbd, CAPSLOCK | NUMLOCK,
leds & (CAPSLOCK | NUMLOCK) );
XFlush(dpy);
XCloseDisplay(dpy);
}
int main() {
setLeds(CAPSLOCK);
return 0;
}
গিলস যা লিখেছেন তা থেকে xset
, আমি এটি কাজ করার আশা করিনি, তবে এটি কিছুটা অর্থে: এটি নেতৃত্ব নির্ধারণ করে, তবে এটি ক্যাপস্লকের স্থিতিও নির্ধারণ করে। আমি উপরের সমস্ত কোড পুরোপুরি বুঝতে পারি না, তাই আমি সম্ভবত একটি নির্লিপ্ত ভুল করেছি। স্পষ্টতই, লাইনটি XChangeKeyboardControl...
প্রোগ্রামের আচরণ পরিবর্তন করে না এবং XkbLockModifiers
এটিই নেতৃত্বাধীন এবং ক্যাপস্লক স্থিতি নির্ধারণ করে।
xterm
, এবং এটি ক্যাপস লক ইত্যাদির স্থিতি ইত্যাদির প্রভাব ছাড়াই এলইডি সেট বা আনসেট করার জন্য এক্সচেঞ্জকিবোর্ডকন্ট্রোল () এ একটি কল ব্যবহার করে So
xterm
প্রভাবিত করে? এটি একটি ভাল ধারণা বলে মনে হচ্ছে, আমি আমার ফলাফলগুলি দিয়ে প্রশ্নটি সম্পাদনা করব।
xterm
পালাবার ক্রম চট্টগ্রাম সিটি কর্পোরেশন [ফাইল অনুযায়ী 3 কুই, পাঠিয়ে আপ প্রযোজ্য LED আলোর করার ctlseqs.txt
উৎস সাথে আসে, কিন্তু পরামিতি 1 এবং 2 সঙ্গে হালকা পর্যন্ত গণনা বা যদি CapsLock এলইডি পাই নি হয়তো আমি প্রয়োজন উত্তরে উল্লিখিত এক্সকেবি কনফিগারেশনটি করুন। xterm
কল XChangeKeyboardControl
মধ্যে xtermShowLED
এবং xtermClearLEDs
কিন্তু কল না XkbLockModifiers
এ সব যে কোন জায়গায়।
xdotool key Caps_Lock
অনুমোদিত এক্স ক্লায়েন্টের কাছ থেকে এমন কিছু করতে পারেন , যদিও এটি আসলে ক্যাপস লকটি চালু করবে।