Emacs 'मेटा को विंडोज कुंजियों में कुबंटु पर भेजना


2

अब खोज करने के कुछ घंटों के बाद, मैं अभी भी यह कैसे काम कर सकता हूं।

सेट अप:

  • फ़्रेंच विंडोज कम्फर्ट कर्व कीबोर्ड २०००
  • HP मंडप dm4 लैपटॉप कुबंता 12.04 चल रहा है।
  • एमएसीएस 24.3.1 कैसॉ-एमएसीएस-सटीक

मैं बस चाहता हूं ⊞ जीत कुंजियाँ (+ बाएँ ऑल्ट अगर यह आसान है) करने के लिए मैप करने के लिए ◆ मेटा Emacs में कुंजी। मैंने हर वो कोशिश की है जिसके बारे में मैं सोच सकता हूँ xev मुझे बताता है कि चाबियाँ मैप की गई हैं META_L तथा META_R केडीई के दृष्टिकोण से - पृथ्वी पर मुझे इतनी परेशानी क्यों हो रही है?

मैंने "मैक -..." और "w32 -..." सामान को रीमैप करने के बारे में बहुत सारी चीजें देखी हैं, लेकिन मैं न तो मैक चला रहा हूं, न ही विंडोज। यही वजह है कि ऑल्ट मेरे लिए अच्छा नहीं है ◆ मेटा ? ऑल्ट जीआर (सही ऑल्ट ) एक फ्रांसीसी कीबोर्ड पर बहुत सारे अक्षरों के लिए उपयोग किया जाता है और इसे बदलने के लिए व्यावहारिक नहीं है और मैं चाहता हूं कि ए ◆ मेटा कीबोर्ड के दाईं ओर कुंजी।

इसलिए मैंने आगे का शोध किया है: कोंसोलोस का उपयोग करना और emacs -nw काम नहीं करता है, लेकिन अगर मैं केडीई के कीबोर्ड प्रबंधन ऐप के साथ इसे बदलता हूं या xmodmap तो यह कर देता है GUI मोड में Emacs के साथ काम करें। Win_R-w तो C-h l देता है:

एम-डब्ल्यू सी-एच एल

जीयूआई मोड में Emacs के लिए और

ईएससी [& gt; 0; 1 1 5; 0 सी डब्ल्यू सी-एच एल

emacs -nw में कॉनसोल में।


क्या आप यह बता सकते हैं कि आपने क्या प्रयास किया है, और यह कैसे विफल होता है। आपके अंतिम पैराग्राफ का अर्थ है कि आपने इसे हल कर लिया है।
terdon

@terdon केवल X सर्वर पर Emacs फ्रेम के लिए है, हालांकि। अगर यह अभी भी होने के बावजूद कोनो कंसोल में काम नहीं करता है xmodmap आप इसे क्या चाहते हैं के लिए पैड, इसका मतलब यह है कि कोनो कंसोल एमएसीएस को पारित करने से पहले कीस्ट्रोक के साथ कुछ कर रहा है; मैं के उत्पादन को देखने के लिए दिलचस्पी होगी M-x view-lossage ( C-h l ) एक जीवा के बाद समस्याग्रस्त कुंजी शामिल है।
Aaron Miller

@AaronMiller सही है। मुझे मिलता है: ईएससी [& gt; 0; 1 1 5; 0 c w-h l Win_L और Win_R को 'w' अक्षर के साथ आज़माने के बाद C-h l।
AntonOfTheWoods

@Antonovich आपकी टिप्पणी "I get:" के साथ समाप्त होती है; शायद यह आपके प्रश्न में नुकसान को संपादित करने के लिए बेहतर काम करेगा? - ओह, यह वहाँ है।
Aaron Miller

@AaronMiller - यह मेरी पहली बार पोस्टिंग है इसलिए मुझे फ़ॉर्मेटिंग सही करने में थोड़ा समय लग रहा है! आपके धैर्य के लिए धन्यवाद...
AntonOfTheWoods

जवाबों:


1

यह प्रतीत होता है कि जिस तरह से कोनोन्स मेटा कुंजी को संभालता है, और उसकी आवश्यकता होती है एक स्रोत पैच ठीक करने के लिए। (निम्नलिखित में, 'a' अप्रकाशित संस्करण है, और 'b' पैच है।)

--- a/konsole/konsole/TEmuVt102.cpp
+++ b/konsole/konsole/TEmuVt102.cpp
@@ -945,7 +945,8 @@  void TEmuVt102::onKeyPress( TQKeyEvent* ev )
                                      encodeMode(MODE_AppScreen     , BITS_AppScreen ) + // VT100 stuff
                                      encodeStat(TQt::ControlButton , BITS_Control   ) +
                                      encodeStat(TQt::ShiftButton   , BITS_Shift     ) +
-                                     encodeStat(TQt::AltButton     , BITS_Alt       ),
+                                     encodeStat(TQt::AltButton     , BITS_Alt       ) +
+                                     encodeStat(TQt::MetaButton        , BITS_Alt   ),
                           &cmd, &txt, &len, &metaspecified ))
 //printf("cmd: %d, %s, %d\n",cmd,txt,len);
   if (connected)
@@ -977,7 +978,7 @@  void TEmuVt102::onKeyPress( TQKeyEvent* ev )
     scr->setHistCursor(scr->getHistLines());

   if (cmd==CMD_send) {
-    if ((ev->state() & TQt::AltButton) && !metaspecified ) sendString("\033");
+    if (((ev->state() & TQt::AltButton) || (ev->state() & TQt::MetaButton)) && !metaspecified ) sendString("\033");
     emit sndBlock(txt,len);
     return;
   }
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.