एक बैश स्क्रिप्ट में उपयोग के लिए, मुझे उस सूक्ति कीबोर्ड लेआउट को प्राप्त करने की आवश्यकता है जिसका उपयोगकर्ता वर्तमान में उपयोग कर रहा है। उदाहरण के लिए यदि उपयोगकर्ता इसका कीबोर्ड लेआउट सेट करता है en-us
, तो मुझे एक bash कमांड की आवश्यकता है जो मुझे यह प्रिंट करता है।
मुझे वह जानकारी कैसे मिल सकती है?
अपडेट करें:
setxkbmap -query
काम नहीं कर रहा है। नीचे en
(प्रथम कमांड) और de
(दूसरा कमांड) लेआउट सक्रिय है। प्रतीत होता है कि कीबोर्ड लेआउट स्विचिंग का गनोम सत्र कॉन्फ़िगरेशन से कुछ संबंध है
setxkbmap -query
rules: evdev
model: pc105
layout: us,de
variant: ,
options: terminate:ctrl_alt_bksp,lv3:ralt_switch,grp:alts_toggle
setxkbmap -query
rules: evdev
model: pc105
layout: us,de
variant: ,
options: terminate:ctrl_alt_bksp,lv3:ralt_switch,grp:alts_toggle
Update2:
setxkbmap -print #with en-us layout
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+de:2+inet(evdev)+level3(ralt_switch_for_alts_toggle):1+level3(ralt_switch_for_alts_toggle):2+group(alts_toggle)+level3(ralt_switch)+terminate(ctrl_alt_bksp)" };
xkb_geometry { include "pc(pc105)" };
};
setxkbmap -print #after switching to german layout
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+de:2+inet(evdev)+level3(ralt_switch_for_alts_toggle):1+level3(ralt_switch_for_alts_toggle):2+group(alts_toggle)+level3(ralt_switch)+terminate(ctrl_alt_bksp)" };
xkb_geometry { include "pc(pc105)" };
};