मैंने .Xmodmap
अपने Caps_Lock
को रीमैप करने के लिए एक फ़ाइल बनाई Mode_switch
। यह मुझे कीबोर्ड के मेरे एरो / नेविगेशन ब्लॉक को होम रो पर पुन: असाइन करने की अनुमति देता है।
सब कुछ ठीक है, जब तक मुझे एहसास नहीं हुआ, कि जावा प्लेटफॉर्म और उपयोग पर लिखे गए प्रोग्राम Swing
(जैसे कि जेटब्रेन्स एडिटर्स) इन रीमैप को नहीं पहचानते हैं।
अब मैं इन सेटिंग्स को पोर्ट करना चाहता हूं xkb
, क्योंकि यह उपयोग करने के लिए पदावनत है xmodmap
।
(मुझे लगता है कि यह इस समस्या का समाधान हो सकता है, लेकिन मुझे वास्तव में पता नहीं है कि एक्सएक्सएक्स के साथ समान कैसे बनाया जाए।) xkb
कॉन्फ़िगरेशन मुझे भ्रमित कर रहा है, और यह केवल कुछ रीमैप के लिए वास्तव में जटिल दृष्टिकोण की तरह लगता है।
तो, मैं यह कैसे कर सकता हूं?
मैं वास्तव में, जावा समस्या के लिए एक और दृष्टिकोण / समाधान को प्राथमिकता दूंगा, ताकि मैं अपना xmodmap कॉन्फ़िगरेशन रख सकूं।
यहाँ मेरी .Xmodmap
फाइल है:
! Disable Caps Lock and use it as mode switch
keycode 66 = Mode_switch Mode_switch
! Toggle Caps Lock with <Mode_switch> + <Control_R>
keysym Control_R = Control_R Control_R Caps_Lock
! Remap navigation block to ijkl...
keysym j = j J Left Left
keysym l = l L Right Right
keysym i = i I Up Up
keysym k = k K Down Down
keysym u = u U Home Home
keysym o = o O End End
! ö Ö
keycode 47 = odiaeresis Odiaeresis BackSpace BackSpace
keysym h = h H Delete Delete
keysym n = n N Prior Prior
! enable mu for use with Iso_Level_3 (the right alt key on german keyboards)
keysym m = m M Next Next mu mu
! Space to Escape
keysym space = space space Escape
और यहाँ मेरा xmodmap आउटपुट है:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Mode_switch (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)