From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 29 19:54:05 2016 Received: (at submit) by debbugs.gnu.org; 29 Oct 2016 23:54:05 +0000 Received: from localhost ([127.0.0.1]:36876 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0dRt-0007qU-2S for submit@debbugs.gnu.org; Sat, 29 Oct 2016 19:54:05 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37075) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0dRr-0007q1-DK for submit@debbugs.gnu.org; Sat, 29 Oct 2016 19:54:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c0dRl-0000fr-1P for submit@debbugs.gnu.org; Sat, 29 Oct 2016 19:53:58 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:34110) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c0dRk-0000fj-UH for submit@debbugs.gnu.org; Sat, 29 Oct 2016 19:53:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56278) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c0dRj-0001J6-7w for bug-gnu-emacs@gnu.org; Sat, 29 Oct 2016 19:53:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c0dRi-0000fB-6j for bug-gnu-emacs@gnu.org; Sat, 29 Oct 2016 19:53:55 -0400 Received: from mail-ua0-x22a.google.com ([2607:f8b0:400c:c08::22a]:36220) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1c0dRi-0000ey-0r for bug-gnu-emacs@gnu.org; Sat, 29 Oct 2016 19:53:54 -0400 Received: by mail-ua0-x22a.google.com with SMTP id b35so8880857uaa.3 for ; Sat, 29 Oct 2016 16:53:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=Qh87YuZBDtDQFhRy8EySXCawjDVclF/KAY9SEVPyR2U=; b=b0WxxN1jocwyTK4zm3XGacdoyF3r0xjLC9O23wUpbYdHUixHhfI5x23SkjZ5In4pob WXtMSdXTeToEfGEhkFHOCxoK3SxDzLYbadJBbgKB5+5klpQZfzW626G3h6+k5l+nsS8M EzQqKQeXdwOLBRE01oDpsb/cR0K75VlN4bePH3K7HssFa5DmNCTfpOpmMq5KBYldLBL2 fZ/U0r9pvXIw3b2Ep68QSTUNjBvCaBFXcGGdwARbP4oJ2SYAv7lrtzevvTmfKGgM8A5f JHI9N7Mtu+KQt49G/sg7XM5EXU2awRpjJfdef4fsUiYSRUztYELUCwMMwL0+ucmmBEEe h2iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Qh87YuZBDtDQFhRy8EySXCawjDVclF/KAY9SEVPyR2U=; b=hiBqcndh6TCbh4YTwEHi6Diqra6Cw771VBuukWOy7MdxDJfIvwzK1O40vX2w4QrsYK nBl5z0Fq2EOL9K7AUxAdtVONoJQGV3Jkkgv6jNYxeQa7yczvHJfoi7dru0F1KK6tn8bi SQ373GI9JHwGiKk3jFagTK2TVXdLz54e4glAOeZyVUcwpEz6FyERzzGeh4tv69xA84AN 8ilVITv3XwYlJW+wcQ5DZxC8J7X3sg+B1xShIDmqflWNxRKG3WKvllDS2V7rUtypqKLH 4m+nS25Y/617e4zH3PgEMDit6tL5REHhQJ5GMXBIssZ6pWd550TyiKcDPoDMgVT6RN2n bsTg== X-Gm-Message-State: ABUngveSyqz4mbMQZXLCLrePrlzXvcZ+gXpJw12tNCVuZMqTvK2mI2V91rDq8KHGtzvomvFex0mfKs7s5NpQ4w== X-Received: by 10.176.67.1 with SMTP id k1mr16380742uak.177.1477785232964; Sat, 29 Oct 2016 16:53:52 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.51.200 with HTTP; Sat, 29 Oct 2016 16:53:52 -0700 (PDT) From: Vasilij Schneidermann Date: Sun, 30 Oct 2016 01:53:52 +0200 Message-ID: Subject: 25.1; [PATCH] Support remapping control X keysym To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary=001a114b5b48dd9e2b054009af39 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --001a114b5b48dd9e2b054009af39 Content-Type: text/plain; charset=UTF-8 There is a number of X keysyms that can be remapped inside Emacs, namely alt, hyper, meta and super. I found it odd that control is not on the list (and to a lesser degree, shift), so I wrote a patch to offer it as additional remappable X keysym. This way one can swap the control and meta key in Emacs with `(setq x-meta-keysym 'ctrl x-ctrl-keysym 'meta)`. --001a114b5b48dd9e2b054009af39 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Support-remapping-control-X-keysym.patch" Content-Disposition: attachment; filename="0001-Support-remapping-control-X-keysym.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iuvv64ie0 RnJvbSBmNzhmM2Y4ZTk0NmRjODY5Yzc5ODFiMjAzMGU0MDhhZWFmZGU2NDdiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWYXNpbGlqIFNjaG5laWRlcm1hbm4gPHYuc2NobmVpZGVybWFu bkBnbWFpbC5jb20+CkRhdGU6IFN1biwgMzAgT2N0IDIwMTYgMDE6Mjk6MTggKzAyMDAKU3ViamVj dDogW1BBVENIXSBTdXBwb3J0IHJlbWFwcGluZyBjb250cm9sIFgga2V5c3ltCgotLS0KIHNyYy94 dGVybS5jIHwgNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy94dGVybS5jIGIvc3JjL3h0ZXJtLmMKaW5kZXggZjBkZDBjYS4uN2Y1MzUwZiAx MDA2NDQKLS0tIGEvc3JjL3h0ZXJtLmMKKysrIGIvc3JjL3h0ZXJtLmMKQEAgLTQ3MDEsMTIgKzQ3 MDEsMTUgQEAgeF9maW5kX21vZGlmaWVyX21lYW5pbmdzIChzdHJ1Y3QgeF9kaXNwbGF5X2luZm8g KmRweWluZm8pCiBpbnQKIHhfeF90b19lbWFjc19tb2RpZmllcnMgKHN0cnVjdCB4X2Rpc3BsYXlf aW5mbyAqZHB5aW5mbywgaW50IHN0YXRlKQogeworICBpbnQgbW9kX2N0cmwgPSBjdHJsX21vZGlm aWVyOwogICBpbnQgbW9kX21ldGEgPSBtZXRhX21vZGlmaWVyOwogICBpbnQgbW9kX2FsdCAgPSBh bHRfbW9kaWZpZXI7CiAgIGludCBtb2RfaHlwZXIgPSBoeXBlcl9tb2RpZmllcjsKICAgaW50IG1v ZF9zdXBlciA9IHN1cGVyX21vZGlmaWVyOwogICBMaXNwX09iamVjdCB0ZW07CiAKKyAgdGVtID0g RmdldCAoVnhfY3RybF9rZXlzeW0sIFFtb2RpZmllcl92YWx1ZSk7CisgIGlmIChJTlRFR0VSUCAo dGVtKSkgbW9kX2N0cmwgPSBYSU5UICh0ZW0pICYgSU5UX01BWDsKICAgdGVtID0gRmdldCAoVnhf YWx0X2tleXN5bSwgUW1vZGlmaWVyX3ZhbHVlKTsKICAgaWYgKElOVEVHRVJQICh0ZW0pKSBtb2Rf YWx0ID0gWElOVCAodGVtKSAmIElOVF9NQVg7CiAgIHRlbSA9IEZnZXQgKFZ4X21ldGFfa2V5c3lt LCBRbW9kaWZpZXJfdmFsdWUpOwpAQCAtNDcxNyw3ICs0NzIwLDcgQEAgeF94X3RvX2VtYWNzX21v ZGlmaWVycyAoc3RydWN0IHhfZGlzcGxheV9pbmZvICpkcHlpbmZvLCBpbnQgc3RhdGUpCiAgIGlm IChJTlRFR0VSUCAodGVtKSkgbW9kX3N1cGVyID0gWElOVCAodGVtKSAmIElOVF9NQVg7CiAKICAg cmV0dXJuICggICgoc3RhdGUgJiAoU2hpZnRNYXNrIHwgZHB5aW5mby0+c2hpZnRfbG9ja19tYXNr KSkgPyBzaGlmdF9tb2RpZmllciA6IDApCi0gICAgICAgICAgICB8ICgoc3RhdGUgJiBDb250cm9s TWFzaykJCQk/IGN0cmxfbW9kaWZpZXIJOiAwKQorICAgICAgICAgICAgfCAoKHN0YXRlICYgQ29u dHJvbE1hc2spCQkJPyBtb2RfY3RybAk6IDApCiAgICAgICAgICAgICB8ICgoc3RhdGUgJiBkcHlp bmZvLT5tZXRhX21vZF9tYXNrKQkJPyBtb2RfbWV0YQk6IDApCiAgICAgICAgICAgICB8ICgoc3Rh dGUgJiBkcHlpbmZvLT5hbHRfbW9kX21hc2spCQk/IG1vZF9hbHQJOiAwKQogICAgICAgICAgICAg fCAoKHN0YXRlICYgZHB5aW5mby0+c3VwZXJfbW9kX21hc2spCT8gbW9kX3N1cGVyCTogMCkKQEAg LTQ3MjcsNiArNDczMCw3IEBAIHhfeF90b19lbWFjc19tb2RpZmllcnMgKHN0cnVjdCB4X2Rpc3Bs YXlfaW5mbyAqZHB5aW5mbywgaW50IHN0YXRlKQogc3RhdGljIGludAogeF9lbWFjc190b194X21v ZGlmaWVycyAoc3RydWN0IHhfZGlzcGxheV9pbmZvICpkcHlpbmZvLCBFTUFDU19JTlQgc3RhdGUp CiB7CisgIEVNQUNTX0lOVCBtb2RfY3RybCA9IGN0cmxfbW9kaWZpZXI7CiAgIEVNQUNTX0lOVCBt b2RfbWV0YSA9IG1ldGFfbW9kaWZpZXI7CiAgIEVNQUNTX0lOVCBtb2RfYWx0ICA9IGFsdF9tb2Rp ZmllcjsKICAgRU1BQ1NfSU5UIG1vZF9oeXBlciA9IGh5cGVyX21vZGlmaWVyOwpAQCAtNDczNCw2 ICs0NzM4LDggQEAgeF9lbWFjc190b194X21vZGlmaWVycyAoc3RydWN0IHhfZGlzcGxheV9pbmZv ICpkcHlpbmZvLCBFTUFDU19JTlQgc3RhdGUpCiAKICAgTGlzcF9PYmplY3QgdGVtOwogCisgIHRl bSA9IEZnZXQgKFZ4X2N0cmxfa2V5c3ltLCBRbW9kaWZpZXJfdmFsdWUpOworICBpZiAoSU5URUdF UlAgKHRlbSkpIG1vZF9jdHJsID0gWElOVCAodGVtKTsKICAgdGVtID0gRmdldCAoVnhfYWx0X2tl eXN5bSwgUW1vZGlmaWVyX3ZhbHVlKTsKICAgaWYgKElOVEVHRVJQICh0ZW0pKSBtb2RfYWx0ID0g WElOVCAodGVtKTsKICAgdGVtID0gRmdldCAoVnhfbWV0YV9rZXlzeW0sIFFtb2RpZmllcl92YWx1 ZSk7CkBAIC00NzQ4LDcgKzQ3NTQsNyBAQCB4X2VtYWNzX3RvX3hfbW9kaWZpZXJzIChzdHJ1Y3Qg eF9kaXNwbGF5X2luZm8gKmRweWluZm8sIEVNQUNTX0lOVCBzdGF0ZSkKICAgICAgICAgICAgIHwg KChzdGF0ZSAmIG1vZF9zdXBlcikJPyBkcHlpbmZvLT5zdXBlcl9tb2RfbWFzayA6IDApCiAgICAg ICAgICAgICB8ICgoc3RhdGUgJiBtb2RfaHlwZXIpCT8gZHB5aW5mby0+aHlwZXJfbW9kX21hc2sg OiAwKQogICAgICAgICAgICAgfCAoKHN0YXRlICYgc2hpZnRfbW9kaWZpZXIpCT8gU2hpZnRNYXNr ICAgICAgICA6IDApCi0gICAgICAgICAgICB8ICgoc3RhdGUgJiBjdHJsX21vZGlmaWVyKQk/IENv bnRyb2xNYXNrICAgICAgOiAwKQorICAgICAgICAgICAgfCAoKHN0YXRlICYgbW9kX2N0cmwpCT8g Q29udHJvbE1hc2sgICAgICA6IDApCiAgICAgICAgICAgICB8ICgoc3RhdGUgJiBtb2RfbWV0YSkJ PyBkcHlpbmZvLT5tZXRhX21vZF9tYXNrICA6IDApKTsKIH0KIApAQCAtMTI4NjMsNiArMTI4Njks OCBAQCBXaXRoIE1TIFdpbmRvd3Mgb3IgTmV4dHN0ZXAsIHRoZSB2YWx1ZSBpcyB0LiAgKi8pOwog I2VuZGlmCiAKICAgREVGU1lNIChRbW9kaWZpZXJfdmFsdWUsICJtb2RpZmllci12YWx1ZSIpOwor ICBERUZTWU0gKFFjdHJsLCAiY3RybCIpOworICBGcHV0IChRY3RybCwgUW1vZGlmaWVyX3ZhbHVl LCBtYWtlX251bWJlciAoY3RybF9tb2RpZmllcikpOwogICBERUZTWU0gKFFhbHQsICJhbHQiKTsK ICAgRnB1dCAoUWFsdCwgUW1vZGlmaWVyX3ZhbHVlLCBtYWtlX251bWJlciAoYWx0X21vZGlmaWVy KSk7CiAgIERFRlNZTSAoUWh5cGVyLCAiaHlwZXIiKTsKQEAgLTEyODcyLDMyICsxMjg4MCwzOSBA QCBXaXRoIE1TIFdpbmRvd3Mgb3IgTmV4dHN0ZXAsIHRoZSB2YWx1ZSBpcyB0LiAgKi8pOwogICBE RUZTWU0gKFFzdXBlciwgInN1cGVyIik7CiAgIEZwdXQgKFFzdXBlciwgUW1vZGlmaWVyX3ZhbHVl LCBtYWtlX251bWJlciAoc3VwZXJfbW9kaWZpZXIpKTsKIAorICBERUZWQVJfTElTUCAoIngtY3Ry bC1rZXlzeW0iLCBWeF9jdHJsX2tleXN5bSwKKyAgICBkb2M6IC8qIFdoaWNoIGtleXMgRW1hY3Mg dXNlcyBmb3IgdGhlIGN0cmwgbW9kaWZpZXIuCitUaGlzIHNob3VsZCBiZSBvbmUgb2YgdGhlIHN5 bWJvbHMgYGN0cmwnLCBgYWx0JywgYGh5cGVyJywgYG1ldGEnLAorYHN1cGVyJy4gIEZvciBleGFt cGxlLCBgYWx0JyBtZWFucyB1c2UgdGhlIEFsdF9MIGFuZCBBbHRfUiBrZXlzeW1zLgorVGhlIGRl ZmF1bHQgaXMgbmlsLCB3aGljaCBpcyB0aGUgc2FtZSBhcyBgY3RybCcuICAqLyk7CisgIFZ4X2N0 cmxfa2V5c3ltID0gUW5pbDsKKwogICBERUZWQVJfTElTUCAoIngtYWx0LWtleXN5bSIsIFZ4X2Fs dF9rZXlzeW0sCiAgICAgZG9jOiAvKiBXaGljaCBrZXlzIEVtYWNzIHVzZXMgZm9yIHRoZSBhbHQg bW9kaWZpZXIuCi1UaGlzIHNob3VsZCBiZSBvbmUgb2YgdGhlIHN5bWJvbHMgYGFsdCcsIGBoeXBl cicsIGBtZXRhJywgYHN1cGVyJy4KLUZvciBleGFtcGxlLCBgYWx0JyBtZWFucyB1c2UgdGhlIEFs dF9MIGFuZCBBbHRfUiBrZXlzeW1zLiAgVGhlIGRlZmF1bHQKLWlzIG5pbCwgd2hpY2ggaXMgdGhl IHNhbWUgYXMgYGFsdCcuICAqLyk7CitUaGlzIHNob3VsZCBiZSBvbmUgb2YgdGhlIHN5bWJvbHMg YGN0cmwnLCBgYWx0JywgYGh5cGVyJywgYG1ldGEnLAorYHN1cGVyJy4gIEZvciBleGFtcGxlLCBg YWx0JyBtZWFucyB1c2UgdGhlIEFsdF9MIGFuZCBBbHRfUiBrZXlzeW1zLgorVGhlIGRlZmF1bHQg aXMgbmlsLCB3aGljaCBpcyB0aGUgc2FtZSBhcyBgY3RybCcuICAqLyk7CiAgIFZ4X2FsdF9rZXlz eW0gPSBRbmlsOwogCiAgIERFRlZBUl9MSVNQICgieC1oeXBlci1rZXlzeW0iLCBWeF9oeXBlcl9r ZXlzeW0sCiAgICAgZG9jOiAvKiBXaGljaCBrZXlzIEVtYWNzIHVzZXMgZm9yIHRoZSBoeXBlciBt b2RpZmllci4KLVRoaXMgc2hvdWxkIGJlIG9uZSBvZiB0aGUgc3ltYm9scyBgYWx0JywgYGh5cGVy JywgYG1ldGEnLCBgc3VwZXInLgotRm9yIGV4YW1wbGUsIGBoeXBlcicgbWVhbnMgdXNlIHRoZSBI eXBlcl9MIGFuZCBIeXBlcl9SIGtleXN5bXMuICBUaGUKLWRlZmF1bHQgaXMgbmlsLCB3aGljaCBp cyB0aGUgc2FtZSBhcyBgaHlwZXInLiAgKi8pOworVGhpcyBzaG91bGQgYmUgb25lIG9mIHRoZSBz eW1ib2xzIGBjdHJsJywgYGFsdCcsIGBoeXBlcicsIGBtZXRhJywKK2BzdXBlcicuICBGb3IgZXhh bXBsZSwgYGFsdCcgbWVhbnMgdXNlIHRoZSBBbHRfTCBhbmQgQWx0X1Iga2V5c3ltcy4KK1RoZSBk ZWZhdWx0IGlzIG5pbCwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgYGN0cmwnLiAgKi8pOwogICBWeF9o eXBlcl9rZXlzeW0gPSBRbmlsOwogCiAgIERFRlZBUl9MSVNQICgieC1tZXRhLWtleXN5bSIsIFZ4 X21ldGFfa2V5c3ltLAogICAgIGRvYzogLyogV2hpY2gga2V5cyBFbWFjcyB1c2VzIGZvciB0aGUg bWV0YSBtb2RpZmllci4KLVRoaXMgc2hvdWxkIGJlIG9uZSBvZiB0aGUgc3ltYm9scyBgYWx0Jywg YGh5cGVyJywgYG1ldGEnLCBgc3VwZXInLgotRm9yIGV4YW1wbGUsIGBtZXRhJyBtZWFucyB1c2Ug dGhlIE1ldGFfTCBhbmQgTWV0YV9SIGtleXN5bXMuICBUaGUKLWRlZmF1bHQgaXMgbmlsLCB3aGlj aCBpcyB0aGUgc2FtZSBhcyBgbWV0YScuICAqLyk7CitUaGlzIHNob3VsZCBiZSBvbmUgb2YgdGhl IHN5bWJvbHMgYGN0cmwnLCBgYWx0JywgYGh5cGVyJywgYG1ldGEnLAorYHN1cGVyJy4gIEZvciBl eGFtcGxlLCBgYWx0JyBtZWFucyB1c2UgdGhlIEFsdF9MIGFuZCBBbHRfUiBrZXlzeW1zLgorVGhl IGRlZmF1bHQgaXMgbmlsLCB3aGljaCBpcyB0aGUgc2FtZSBhcyBgY3RybCcuICAqLyk7CiAgIFZ4 X21ldGFfa2V5c3ltID0gUW5pbDsKIAogICBERUZWQVJfTElTUCAoIngtc3VwZXIta2V5c3ltIiwg Vnhfc3VwZXJfa2V5c3ltLAogICAgIGRvYzogLyogV2hpY2gga2V5cyBFbWFjcyB1c2VzIGZvciB0 aGUgc3VwZXIgbW9kaWZpZXIuCi1UaGlzIHNob3VsZCBiZSBvbmUgb2YgdGhlIHN5bWJvbHMgYGFs dCcsIGBoeXBlcicsIGBtZXRhJywgYHN1cGVyJy4KLUZvciBleGFtcGxlLCBgc3VwZXInIG1lYW5z IHVzZSB0aGUgU3VwZXJfTCBhbmQgU3VwZXJfUiBrZXlzeW1zLiAgVGhlCi1kZWZhdWx0IGlzIG5p bCwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgYHN1cGVyJy4gICovKTsKK1RoaXMgc2hvdWxkIGJlIG9u ZSBvZiB0aGUgc3ltYm9scyBgY3RybCcsIGBhbHQnLCBgaHlwZXInLCBgbWV0YScsCitgc3VwZXIn LiAgRm9yIGV4YW1wbGUsIGBhbHQnIG1lYW5zIHVzZSB0aGUgQWx0X0wgYW5kIEFsdF9SIGtleXN5 bXMuCitUaGUgZGVmYXVsdCBpcyBuaWwsIHdoaWNoIGlzIHRoZSBzYW1lIGFzIGBjdHJsJy4gICov KTsKICAgVnhfc3VwZXJfa2V5c3ltID0gUW5pbDsKIAogICBERUZWQVJfTElTUCAoIngta2V5c3lt LXRhYmxlIiwgVnhfa2V5c3ltX3RhYmxlLAotLSAKMi4xMC4xCgo= --001a114b5b48dd9e2b054009af39-- From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 29 20:10:22 2016 Received: (at 24822) by debbugs.gnu.org; 30 Oct 2016 00:10:22 +0000 Received: from localhost ([127.0.0.1]:36882 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0dhe-0008Dy-KL for submit@debbugs.gnu.org; Sat, 29 Oct 2016 20:10:22 -0400 Received: from dancol.org ([96.126.100.184]:50240) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0dhc-0008Dq-Px for 24822@debbugs.gnu.org; Sat, 29 Oct 2016 20:10:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:References:To:Subject; bh=9/DZmHhD8k1gHAA98NPoyQHMwu13DojjJ2dOgCEUzDs=; b=PIS4gk9gvB2Z5vbEpJkOtUB+39lAziOgEYgs5BUydhskN84byyKAhT8GLp6GtlReRRGO8RZjymxauzJnCfwY0ZaAfyKgqpfz3YWPkd+eLxRJhCA4SkYJZN6sFKnmmP1Vs05Lc1KRqjvrfZKKuVC+sowaOxCUlUnhp6fUZlV3OXPKQAhjzDL6N0bqzzQBVuPbVtSCTe+NMtS/ku7daDUYbxIZK0QyXdmEawO/48ObDRAuR8U6duVXg/4OHvnjd4HPY8X223jbVEQzry5MylXg/H7PJO471D46CRbH/Uy7Z/C5+xa1jnx8zniwoP5yRZtbUg308OekEFjxxUCKr6uG5g==; Received: from c-73-97-199-232.hsd1.wa.comcast.net ([73.97.199.232] helo=[192.168.1.173]) by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1c0dhb-0003qj-L2; Sat, 29 Oct 2016 17:10:19 -0700 Subject: Re: bug#24822: 25.1; [PATCH] Support remapping control X keysym To: Vasilij Schneidermann , 24822@debbugs.gnu.org References: From: Daniel Colascione Message-ID: <3ef44ba7-0296-15b6-779d-c1e470d3b883@dancol.org> Date: Sat, 29 Oct 2016 17:10:15 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 24822 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.4 (-) On 10/29/2016 04:53 PM, Vasilij Schneidermann wrote: > There is a number of X keysyms that can be remapped inside Emacs, namely > alt, hyper, meta and super. I found it odd that control is not on the > list (and to a lesser degree, shift), so I wrote a patch to offer it as > additional remappable X keysym. This way one can swap the control and > meta key in Emacs with `(setq x-meta-keysym 'ctrl x-ctrl-keysym 'meta)`. > Don't forget the NEWS entry. From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 29 20:27:08 2016 Received: (at 24822) by debbugs.gnu.org; 30 Oct 2016 00:27:08 +0000 Received: from localhost ([127.0.0.1]:36886 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0dxs-0000A6-36 for submit@debbugs.gnu.org; Sat, 29 Oct 2016 20:27:08 -0400 Received: from mail-wm0-f46.google.com ([74.125.82.46]:37923) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0dxr-00009i-0j for 24822@debbugs.gnu.org; Sat, 29 Oct 2016 20:27:07 -0400 Received: by mail-wm0-f46.google.com with SMTP id n67so171684241wme.1 for <24822@debbugs.gnu.org>; Sat, 29 Oct 2016 17:27:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Pe7LBkezBcjx9assg52JwLJnRw2qd8BS/AllQNqWXOc=; b=tHrSOGKpdG+aeyASH0Y8FoKW5Oudu/6WdDxtTDvzUC67eWeJy+5Hx6k4IRv1KzDNkp rgv/21XoS25Z7UgKXi2UOdOKZC4uXzTiC2p7z0c+V8tSWNv4NZAVQe09XnssInN3Fetf AnlgjKFeqOxf2wIuZryVOiTiP3XE71nwONTgGNMU5K8ws1PnMGMFhAgZdfbc1pkfxiwW vm4qFvp4JKJkFtUHkxpci0qTlT4iBImhCwHw1irgUCbVKNuEXW2SvidoYwH1mTETFZsv kTaXQDUsz+qF4iaKdByCnFLu3NWOAPEojBGAS94Z4hVtaIj8LcUlVfmnMt2h4Bj0yZxm Dwow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=Pe7LBkezBcjx9assg52JwLJnRw2qd8BS/AllQNqWXOc=; b=Ra8SFn6pP50O0jqKl81ds1dv5ZI8A3ibGMY3Icd1QGMv2oxvEOHzJ3jfvYH3DspCZt ubIsbcXMxjw8NxCSj+voPXfkKcF1RuamWwSQL91K+iB9Fa1xRA6NDEuQORHkKtyFsG9n 2SGrw7gBaBHR62apsflFeL27gH7ql57no2vdUSP1fJPsTq3n45YcZnAK06PfZhbGPVGP On02uPBWYWlcexYLCgf6smeXVRRRU6YZapAgsV7KiJWDInjclR80oiSiZn1OVHyQ+6QB yXf4FELpXnbHz/Si+TVwBo3D3n1XWrazH0wGGawn337Y0Lcs5NsoTlMgqIc2htlL0dgN 4MRA== X-Gm-Message-State: ABUngvdac6DQdblXf3VQCfzfpaWi7HMDXLFq/vH6qgwqpNWPRu/UjGJN+RgnAlIlNNHhTg== X-Received: by 10.194.78.130 with SMTP id b2mr16408013wjx.29.1477787221343; Sat, 29 Oct 2016 17:27:01 -0700 (PDT) Received: from localhost (dslb-178-005-152-202.178.005.pools.vodafone-ip.de. [178.5.152.202]) by smtp.gmail.com with ESMTPSA id au8sm21875236wjc.12.2016.10.29.17.27.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 29 Oct 2016 17:27:00 -0700 (PDT) Date: Sun, 30 Oct 2016 02:27:00 +0200 From: Vasilij Schneidermann To: Daniel Colascione Subject: Re: bug#24822: 25.1; [PATCH] Support remapping control X keysym Message-ID: <20161030002700.GA19876@odonien.localdomain> References: <3ef44ba7-0296-15b6-779d-c1e470d3b883@dancol.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <3ef44ba7-0296-15b6-779d-c1e470d3b883@dancol.org> User-Agent: Mutt/1.7.1 (2016-10-04) X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 24822 Cc: 24822@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) > Don't forget the NEWS entry. Thanks, I've considered doing this, but wasn't sure whether this would go into etc/NEWS or etc/NEWS.25. Another thing I'm wondering about is whether there is any reason to not do this. From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 29 23:37:59 2016 Received: (at 24822) by debbugs.gnu.org; 30 Oct 2016 03:37:59 +0000 Received: from localhost ([127.0.0.1]:36919 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0gwY-0000fs-Uo for submit@debbugs.gnu.org; Sat, 29 Oct 2016 23:37:59 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59570) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0gwW-0000f0-Lk for 24822@debbugs.gnu.org; Sat, 29 Oct 2016 23:37:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c0gwO-0002ZY-GU for 24822@debbugs.gnu.org; Sat, 29 Oct 2016 23:37:51 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:59165) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c0gwO-0002ZS-Cw; Sat, 29 Oct 2016 23:37:48 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2161 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1c0gwN-0004OJ-M0; Sat, 29 Oct 2016 23:37:48 -0400 Date: Sun, 30 Oct 2016 05:37:57 +0200 Message-Id: <83zilmpkve.fsf@gnu.org> From: Eli Zaretskii To: Vasilij Schneidermann In-reply-to: <20161030002700.GA19876@odonien.localdomain> (message from Vasilij Schneidermann on Sun, 30 Oct 2016 02:27:00 +0200) Subject: Re: bug#24822: 25.1; [PATCH] Support remapping control X keysym References: <3ef44ba7-0296-15b6-779d-c1e470d3b883@dancol.org> <20161030002700.GA19876@odonien.localdomain> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -6.4 (------) X-Debbugs-Envelope-To: 24822 Cc: dancol@dancol.org, 24822@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.4 (------) > Date: Sun, 30 Oct 2016 02:27:00 +0200 > From: Vasilij Schneidermann > Cc: 24822@debbugs.gnu.org > > > Don't forget the NEWS entry. > > Thanks, I've considered doing this, but wasn't sure whether this would > go into etc/NEWS or etc/NEWS.25. Changes should always be documented in NEWS. NEWS.25 describes changes in Emacs 25.x for Emacs 26 and higher, so it's never relevant. > Another thing I'm wondering about is whether there is any reason to > not do this. In general, any user-visible changes should be in NEWS, unless they are too insignificant to mention. Did you look into the Emacs manual, to see if it also needs an update? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 30 01:14:20 2016 Received: (at 24822) by debbugs.gnu.org; 30 Oct 2016 05:14:20 +0000 Received: from localhost ([127.0.0.1]:36926 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0iRo-0004J3-6D for submit@debbugs.gnu.org; Sun, 30 Oct 2016 01:14:20 -0400 Received: from mail-it0-f50.google.com ([209.85.214.50]:38526) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0iRm-0004Iq-7A for 24822@debbugs.gnu.org; Sun, 30 Oct 2016 01:14:18 -0400 Received: by mail-it0-f50.google.com with SMTP id q124so48241781itd.1 for <24822@debbugs.gnu.org>; Sat, 29 Oct 2016 22:14:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=gbu8lJw/+0FjmZJlPjMZGnKM+Vfo99N29iO5w6KlSQE=; b=els0Md4jr9kQ6eQlE66zgTO77EIlWXDbays8cPWZvRc6iePB4TxpsotKAG30Re1VU5 YLwk0MgmIoadkx6rzBgCZAuu/7klKuwoFmGPXCAs+mc5oR+WJXvW7bBRO958FO5UARqd ldJscz15VarVGDlpAwDwuANM6fuCz68yKeOP+HNm9ig80o+VMFxF97B5w6esimW5ltC2 DH4/nh0sbX/CzC1wlrbnwZsEkdTqPtD4AhUePvkHiQxXSmFV34bezzYOr4XJ8tmiSBU5 VYqwVH36gycShabqjDdk0A4Tzwu0m2I5dKUkiUEYr/oJUMPd7ShftrtRbaznhX4b9/oa wMKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=gbu8lJw/+0FjmZJlPjMZGnKM+Vfo99N29iO5w6KlSQE=; b=gk3CU1hQDaqytMZ/a/Xp5UR6E9LSyBkKeDjB+NeVccCSN0xpPMcJFnjzQTpbI9cJOp XwrQxPd3wrgCY/20Pk9Q/b/LCQzvEqTR+Y/1Av0aqP1hS3euD6EBHdLSYTVna1vfdeL4 J3u0wLlhqk7s31j7B/tRosybHH/0PA7jxnzRlsLQnsAKi/exfFFvpeLOEdkdczIPPiJ+ LD/KvaljhZqAjQJOvgkVPBaypgpbKiCZXnbkQw3SqVV4S9SypKYzjwxNTfRDKwqaPO6B fbu5Na0h33h9f2c70uVAOecMuANCuhUJL7qA+x+QuUbGANz7D6Sk7cpGLEwIJ/cxX92B 3aRg== X-Gm-Message-State: ABUngvcBB6p4xmFFIVb67e7m5Lusc73kCJXe+m88HDBao1fzveooUuwqxTGiAXnKAomNtg== X-Received: by 10.36.112.210 with SMTP id f201mr4931782itc.107.1477804452619; Sat, 29 Oct 2016 22:14:12 -0700 (PDT) Received: from lylat (S01061859339e9903.ss.shawcable.net. [174.2.107.88]) by smtp.gmail.com with ESMTPSA id l134sm6223211ith.20.2016.10.29.22.14.11 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 29 Oct 2016 22:14:12 -0700 (PDT) From: Alex To: Vasilij Schneidermann Subject: Re: bug#24822: 25.1; [PATCH] Support remapping control X keysym References: Date: Sat, 29 Oct 2016 23:14:04 -0600 In-Reply-To: (Vasilij Schneidermann's message of "Sun, 30 Oct 2016 01:53:52 +0200") Message-ID: <87oa22beqr.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.2 (/) X-Debbugs-Envelope-To: 24822 Cc: 24822@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.2 (/) Vasilij Schneidermann writes: > There is a number of X keysyms that can be remapped inside Emacs, namely > alt, hyper, meta and super. I found it odd that control is not on the > list (and to a lesser degree, shift), so I wrote a patch to offer it as > additional remappable X keysym. This way one can swap the control and > meta key in Emacs with `(setq x-meta-keysym 'ctrl x-ctrl-keysym 'meta)`. In the patch, all of the x-*-keysyms have the same docstring (including the same examples and default). Is that intentional? From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 30 06:02:09 2016 Received: (at 24822) by debbugs.gnu.org; 30 Oct 2016 10:02:09 +0000 Received: from localhost ([127.0.0.1]:37000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0mwL-0005fA-Ai for submit@debbugs.gnu.org; Sun, 30 Oct 2016 06:02:09 -0400 Received: from mail-wm0-f44.google.com ([74.125.82.44]:37678) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0mwK-0005es-3v for 24822@debbugs.gnu.org; Sun, 30 Oct 2016 06:02:08 -0400 Received: by mail-wm0-f44.google.com with SMTP id t79so2945589wmt.0 for <24822@debbugs.gnu.org>; Sun, 30 Oct 2016 03:02:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=K1XkDafcSJAuulX3udKa/1J+Z2qQ28BozIeF13LSUSQ=; b=Mz+I5SuGyxRThjMVawigmuZJVvoJYnKwHy5GOmSx/87Vp47EZZ6muezO4rux2Uze+1 FGel3BtBpfiqZ6RMUgFMwzj7m76zyzZlvsBmtGSB+vBtmLOCGVHC7DqRXETWA6qg76AZ DNCRK33gAIF0rSHnuqlcHouo3SDC8TR+3GyYdzRBqrkekMN89FwWyOc5GPus1yh+y7Ly 8TIp72/8XRjUNqBfFVzzLgYGTqoFoCN8pXcn4UyNOKOC1nqSFQPMdZFpWH3SDcCspuUC CekqtjvAOCV0ONkwL4aqR5ZeKyk86jloarEqQDNHDnb+XKKAINb7q7z7IPsqimsIQnAE yO1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=K1XkDafcSJAuulX3udKa/1J+Z2qQ28BozIeF13LSUSQ=; b=fNjqgOxw/uz/tXhO9FFkGwOmfVgJ1aRXr7pqtUv+LcxYCgOY1hfirqpNTY1W4rSM1u 7Cb/hs1JQdZynCW4kbd9iNtaYSIHy79vjRb5U6TjcveCJCsJuQWNXOKwP4DFstYfWqlX RSH6S1B/Q/Nig0qowsht4GRnDWqv3v8mUI+LYUW5ICSnXXRAZsi4A6kqHUk4QRDuJuS+ oZKNtUEzn1sckzTKs2GoNOyY0qfDx3InCLb+AppsiEvAstx3UpCF6SflKWi/djNXRzm6 Yc5tvGkquRdLluyhi1wifZNhRsFo/UjOkavMVkmuu3SG8snrVuM0zWQPCu/rAu2LzW3/ pnzQ== X-Gm-Message-State: ABUngven0tJNkbsUHKOzaEbAFNx6qo9gmpTCmnbTjsTJcatd6iBhGzBne9MN0V/BiwIQRQ== X-Received: by 10.28.208.71 with SMTP id h68mr5694112wmg.14.1477821722277; Sun, 30 Oct 2016 03:02:02 -0700 (PDT) Received: from localhost (dslb-092-072-002-098.092.072.pools.vodafone-ip.de. [92.72.2.98]) by smtp.gmail.com with ESMTPSA id xq9sm23843961wjb.35.2016.10.30.03.02.01 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 30 Oct 2016 03:02:01 -0700 (PDT) Date: Sun, 30 Oct 2016 11:02:01 +0100 From: Vasilij Schneidermann To: Alex Subject: Re: bug#24822: 25.1; [PATCH] Support remapping control X keysym Message-ID: <20161030100201.GA555@odonien.localdomain> References: <87oa22beqr.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87oa22beqr.fsf@gmail.com> User-Agent: Mutt/1.7.1 (2016-10-04) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 24822 Cc: 24822@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > In the patch, all of the x-*-keysyms have the same docstring (including > the same examples and default). Is that intentional? Previously, their docstrings were the same except for the first line (naming the remapped modifier) and the last line (naming the default). Thank you for pointing that out, I've fixed the latter case. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 30 06:33:15 2016 Received: (at 24822) by debbugs.gnu.org; 30 Oct 2016 10:33:15 +0000 Received: from localhost ([127.0.0.1]:37006 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0nQQ-0006db-NJ for submit@debbugs.gnu.org; Sun, 30 Oct 2016 06:33:15 -0400 Received: from mail-wm0-f50.google.com ([74.125.82.50]:38844) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0nQO-0006dI-Tk for 24822@debbugs.gnu.org; Sun, 30 Oct 2016 06:33:13 -0400 Received: by mail-wm0-f50.google.com with SMTP id n67so182376601wme.1 for <24822@debbugs.gnu.org>; Sun, 30 Oct 2016 03:33:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=sGr0zqY6IodabPOako3bZpFvndjZpRFMCxKKYu3t2p4=; b=yo+hU1SHXnBkvF4GT8+O6O7GJLYAp5PvnXXBWNyl4FS6m2W1c7QrvP372DX+l496oj rGMBKPB+fSPNtVxaEdVC5KNzFZG/Fu2+Ut2N52bH/VPqacR6br/ahHQttS7IA0mFA7bp /usXkfP+gEWzGJtur/PdaEWEZN9Fgs/Zt5rR3ajRiBH7S7euBIz2o3xIZsupYEmCXFP3 IE3k/OszjRugZ5ICQT1EVF+4ajmLJN+j9RKgVSJdNt/z6vq7V76ku8nHHouWWcG582pN vKDvec+hKjEv83Dt0CO01Ok53vMVGbPxacycuenVrUNapuPMXFEOPPOXQ7S+heqWaAcL qQwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=sGr0zqY6IodabPOako3bZpFvndjZpRFMCxKKYu3t2p4=; b=JxpROzIOb4MujTechWuzEghkrSioXHwQsaVgKEngX50lPH7HJ977omXctEQxu+DpcQ 4JPUy6Ocl0Uf21D+JJZ0qgBjg3723mq7ieDE09X7gC7fGqSTGvU1T/BOy2t5/FBjDl4V m2Xa3lpyMt5bq7ZDGPJMrYHGDqq87HLePEYeRW3VmI1M62sIt5pqAermNDf/ABhI2uym 9Ach3qI5uHdt/ZTFgPmeC3mL1ymZlM82i68u0trlDR7FF1UoG3WzrunuyV8SsgAO/e8U xrfRVP8Fmmw0Bo5KGW7+jacz9l7NyZnRuXZiWDyJvOH5yR1ZMlYuHHhOVkGTSDqOEeEq OAjQ== X-Gm-Message-State: ABUngveGoZOVdpak1MbjVNTjZXH9QWH7Jczs7HDXotcf26l/+UIlUuG7WpzbQ2cKIFRAOw== X-Received: by 10.28.217.131 with SMTP id q125mr4602282wmg.95.1477823587235; Sun, 30 Oct 2016 03:33:07 -0700 (PDT) Received: from localhost (dslb-092-072-002-098.092.072.pools.vodafone-ip.de. [92.72.2.98]) by smtp.gmail.com with ESMTPSA id a5sm23974782wjv.6.2016.10.30.03.33.06 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 30 Oct 2016 03:33:06 -0700 (PDT) Date: Sun, 30 Oct 2016 11:33:05 +0100 From: Vasilij Schneidermann To: Eli Zaretskii Subject: Re: bug#24822: 25.1; [PATCH] Support remapping control X keysym Message-ID: <20161030103305.GB555@odonien.localdomain> References: <3ef44ba7-0296-15b6-779d-c1e470d3b883@dancol.org> <20161030002700.GA19876@odonien.localdomain> <83zilmpkve.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="dDRMvlgZJXvWKvBx" Content-Disposition: inline In-Reply-To: <83zilmpkve.fsf@gnu.org> User-Agent: Mutt/1.7.1 (2016-10-04) X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 24822 Cc: dancol@dancol.org, 24822@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) --dDRMvlgZJXvWKvBx Content-Type: text/plain; charset=utf-8 Content-Disposition: inline > Changes should always be documented in NEWS. NEWS.25 describes > changes in Emacs 25.x for Emacs 26 and higher, so it's never relevant. Thanks, I've added it to the "Changes in Emacs 26.1" section. > Did you look into the Emacs manual, to see if it also needs an update? I've updated the existing manual entry now as well. --dDRMvlgZJXvWKvBx Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="0001-Support-remapping-control-X-keysym.patch" >From 1533124a83c82e60418669d3dcc83c38adfe3fa7 Mon Sep 17 00:00:00 2001 From: Vasilij Schneidermann Date: Sun, 30 Oct 2016 01:29:18 +0200 Subject: [PATCH] Support remapping control X keysym --- doc/lispref/os.texi | 10 ++++++---- etc/NEWS | 5 +++++ src/xterm.c | 43 +++++++++++++++++++++++++++++-------------- 3 files changed, 40 insertions(+), 18 deletions(-) diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 277abb1..97b086c 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -2254,14 +2254,16 @@ The variable is always local to the current terminal, and cannot be buffer-local. @xref{Multiple Terminals}. @end defvar -You can specify which keysyms Emacs should use for the Meta, Alt, Hyper, and Super modifiers by setting these variables: +You can specify which keysyms Emacs should use for the Control, Meta, +Alt, Hyper, and Super modifiers by setting these variables: -@defvar x-alt-keysym +@defvar x-ctrl-keysym +@defvarx x-alt-keysym @defvarx x-meta-keysym @defvarx x-hyper-keysym @defvarx x-super-keysym -The name of the keysym that should stand for the Alt modifier -(respectively, for Meta, Hyper, and Super). For example, here is +The name of the keysym that should stand for the Control modifier +(respectively, for Alt, Meta, Hyper, and Super). For example, here is how to swap the Meta and Alt modifiers within Emacs: @lisp (setq x-alt-keysym 'meta) diff --git a/etc/NEWS b/etc/NEWS index e29dfe2..a773e92 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -233,6 +233,11 @@ questions, with a handy way to display help texts. all call stack frames in a Lisp backtrace buffer as lists. Both debug.el and edebug.el have been updated to heed to this variable. ++++ +** The new variable `x-ctrl-keysym` has been added to the existing +roster of X keysyms. It can be used in combination with another +variable of this kind to swap modifiers in Emacs. + * Editing Changes in Emacs 26.1 diff --git a/src/xterm.c b/src/xterm.c index f0dd0ca..0a420cd 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -4701,12 +4701,15 @@ x_find_modifier_meanings (struct x_display_info *dpyinfo) int x_x_to_emacs_modifiers (struct x_display_info *dpyinfo, int state) { + int mod_ctrl = ctrl_modifier; int mod_meta = meta_modifier; int mod_alt = alt_modifier; int mod_hyper = hyper_modifier; int mod_super = super_modifier; Lisp_Object tem; + tem = Fget (Vx_ctrl_keysym, Qmodifier_value); + if (INTEGERP (tem)) mod_ctrl = XINT (tem) & INT_MAX; tem = Fget (Vx_alt_keysym, Qmodifier_value); if (INTEGERP (tem)) mod_alt = XINT (tem) & INT_MAX; tem = Fget (Vx_meta_keysym, Qmodifier_value); @@ -4717,7 +4720,7 @@ x_x_to_emacs_modifiers (struct x_display_info *dpyinfo, int state) if (INTEGERP (tem)) mod_super = XINT (tem) & INT_MAX; return ( ((state & (ShiftMask | dpyinfo->shift_lock_mask)) ? shift_modifier : 0) - | ((state & ControlMask) ? ctrl_modifier : 0) + | ((state & ControlMask) ? mod_ctrl : 0) | ((state & dpyinfo->meta_mod_mask) ? mod_meta : 0) | ((state & dpyinfo->alt_mod_mask) ? mod_alt : 0) | ((state & dpyinfo->super_mod_mask) ? mod_super : 0) @@ -4727,6 +4730,7 @@ x_x_to_emacs_modifiers (struct x_display_info *dpyinfo, int state) static int x_emacs_to_x_modifiers (struct x_display_info *dpyinfo, EMACS_INT state) { + EMACS_INT mod_ctrl = ctrl_modifier; EMACS_INT mod_meta = meta_modifier; EMACS_INT mod_alt = alt_modifier; EMACS_INT mod_hyper = hyper_modifier; @@ -4734,6 +4738,8 @@ x_emacs_to_x_modifiers (struct x_display_info *dpyinfo, EMACS_INT state) Lisp_Object tem; + tem = Fget (Vx_ctrl_keysym, Qmodifier_value); + if (INTEGERP (tem)) mod_ctrl = XINT (tem); tem = Fget (Vx_alt_keysym, Qmodifier_value); if (INTEGERP (tem)) mod_alt = XINT (tem); tem = Fget (Vx_meta_keysym, Qmodifier_value); @@ -4748,7 +4754,7 @@ x_emacs_to_x_modifiers (struct x_display_info *dpyinfo, EMACS_INT state) | ((state & mod_super) ? dpyinfo->super_mod_mask : 0) | ((state & mod_hyper) ? dpyinfo->hyper_mod_mask : 0) | ((state & shift_modifier) ? ShiftMask : 0) - | ((state & ctrl_modifier) ? ControlMask : 0) + | ((state & mod_ctrl) ? ControlMask : 0) | ((state & mod_meta) ? dpyinfo->meta_mod_mask : 0)); } @@ -12863,6 +12869,8 @@ With MS Windows or Nextstep, the value is t. */); #endif DEFSYM (Qmodifier_value, "modifier-value"); + DEFSYM (Qctrl, "ctrl"); + Fput (Qctrl, Qmodifier_value, make_number (ctrl_modifier)); DEFSYM (Qalt, "alt"); Fput (Qalt, Qmodifier_value, make_number (alt_modifier)); DEFSYM (Qhyper, "hyper"); @@ -12872,32 +12880,39 @@ With MS Windows or Nextstep, the value is t. */); DEFSYM (Qsuper, "super"); Fput (Qsuper, Qmodifier_value, make_number (super_modifier)); + DEFVAR_LISP ("x-ctrl-keysym", Vx_ctrl_keysym, + doc: /* Which keys Emacs uses for the ctrl modifier. +This should be one of the symbols `ctrl', `alt', `hyper', `meta', +`super'. For example, `alt' means use the Alt_L and Alt_R keysyms. +The default is nil, which is the same as `ctrl'. */); + Vx_ctrl_keysym = Qnil; + DEFVAR_LISP ("x-alt-keysym", Vx_alt_keysym, doc: /* Which keys Emacs uses for the alt modifier. -This should be one of the symbols `alt', `hyper', `meta', `super'. -For example, `alt' means use the Alt_L and Alt_R keysyms. The default -is nil, which is the same as `alt'. */); +This should be one of the symbols `ctrl', `alt', `hyper', `meta', +`super'. For example, `alt' means use the Alt_L and Alt_R keysyms. +The default is nil, which is the same as `alt'. */); Vx_alt_keysym = Qnil; DEFVAR_LISP ("x-hyper-keysym", Vx_hyper_keysym, doc: /* Which keys Emacs uses for the hyper modifier. -This should be one of the symbols `alt', `hyper', `meta', `super'. -For example, `hyper' means use the Hyper_L and Hyper_R keysyms. The -default is nil, which is the same as `hyper'. */); +This should be one of the symbols `ctrl', `alt', `hyper', `meta', +`super'. For example, `alt' means use the Alt_L and Alt_R keysyms. +The default is nil, which is the same as `hyper'. */); Vx_hyper_keysym = Qnil; DEFVAR_LISP ("x-meta-keysym", Vx_meta_keysym, doc: /* Which keys Emacs uses for the meta modifier. -This should be one of the symbols `alt', `hyper', `meta', `super'. -For example, `meta' means use the Meta_L and Meta_R keysyms. The -default is nil, which is the same as `meta'. */); +This should be one of the symbols `ctrl', `alt', `hyper', `meta', +`super'. For example, `alt' means use the Alt_L and Alt_R keysyms. +The default is nil, which is the same as `meta'. */); Vx_meta_keysym = Qnil; DEFVAR_LISP ("x-super-keysym", Vx_super_keysym, doc: /* Which keys Emacs uses for the super modifier. -This should be one of the symbols `alt', `hyper', `meta', `super'. -For example, `super' means use the Super_L and Super_R keysyms. The -default is nil, which is the same as `super'. */); +This should be one of the symbols `ctrl', `alt', `hyper', `meta', +`super'. For example, `alt' means use the Alt_L and Alt_R keysyms. +The default is nil, which is the same as `super'. */); Vx_super_keysym = Qnil; DEFVAR_LISP ("x-keysym-table", Vx_keysym_table, -- 2.10.1 --dDRMvlgZJXvWKvBx-- From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 30 14:22:42 2016 Received: (at 24822) by debbugs.gnu.org; 30 Oct 2016 18:22:42 +0000 Received: from localhost ([127.0.0.1]:37430 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0ukk-0006p5-JS for submit@debbugs.gnu.org; Sun, 30 Oct 2016 14:22:42 -0400 Received: from mail-oi0-f68.google.com ([209.85.218.68]:34931) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0ukj-0006om-2U for 24822@debbugs.gnu.org; Sun, 30 Oct 2016 14:22:41 -0400 Received: by mail-oi0-f68.google.com with SMTP id v84so1989522oie.2 for <24822@debbugs.gnu.org>; Sun, 30 Oct 2016 11:22:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=D+0C32mX2gwgWckvOQXQhRMU476s2d8/G+hy2RdJecg=; b=vaTSbdpPXxclUeZTi74GFSEE6mFTX/rw4xS7S4B6ERcXVCI76d0BfzBBfqkrbkA592 8y3M8+2MFwdvy/C5ZnChfH5K6+2R5ygXh4tNHrSQGNxQq4H2kPeFruNj4Av8HlfAq8KK zzB54M7esl1OymfZGPkM6vL43suWXPeN3/xcElcf67tQ4TZr974Ir9fbHebqtnVtV91f zTNqvUknC1Fs4LCp0Vk6YciMPsssJP4LE8d69HKAW+AzWqkiM6IEVrHGR3s1LdwsrzvN MvaQuFVgqTkNTm/0HL9SGO0OxTerTiI58F0Zyi6jBs2JLdzJHVgkt4RVrmbuswEVnED5 Xyhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=D+0C32mX2gwgWckvOQXQhRMU476s2d8/G+hy2RdJecg=; b=P9PvTUtJ7HUYgIpVe+lZHI4zHVzzp9U0Q5UCfof8y6k+PpKMQIh1+w9qJsFaToryR3 yn1Wq+PZh73lmDDpgSWacPNf6KWvxju9BQoXNZ8ZWton3jc+ls4dmck4aZ+O1j9O7cl7 blQCn5i+VlGnXC9KESb+p/S12KRP0pJtA9Gf3er005Ea+oL0DVQbnA3OzRhN6n7Z/BUw ifMSsc8f3VnJq4hMOr8TuGdXIGh4QLgn4+R6yLQRpbVTXLfw7woFYZ3kDwGGE+0GG+Mk LMWidDn1pil5PWE5FOc6ihRJyk9MdWGLigwOMf3RndhJysm/FcKBnFm1CILHWJUmXIhG jqhQ== X-Gm-Message-State: ABUngvdxE6GBVvEKIz+1bUodoYZLcxoWZPRh9wT0GA1LRtY5hd4TCJsY6kZiO4XImw/urQ== X-Received: by 10.36.127.213 with SMTP id r204mr6759762itc.8.1477851755397; Sun, 30 Oct 2016 11:22:35 -0700 (PDT) Received: from lylat (S01061859339e9903.ss.shawcable.net. [174.2.107.88]) by smtp.gmail.com with ESMTPSA id e33sm5554974itd.4.2016.10.30.11.22.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 30 Oct 2016 11:22:34 -0700 (PDT) From: Alex To: Vasilij Schneidermann Subject: Re: bug#24822: 25.1; [PATCH] Support remapping control X keysym References: <87oa22beqr.fsf@gmail.com> <20161030100201.GA555@odonien.localdomain> Date: Sun, 30 Oct 2016 12:22:23 -0600 In-Reply-To: <20161030100201.GA555@odonien.localdomain> (Vasilij Schneidermann's message of "Sun, 30 Oct 2016 11:02:01 +0100") Message-ID: <87bmy1bstc.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 24822 Cc: 24822@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) Vasilij Schneidermann writes: >> In the patch, all of the x-*-keysyms have the same docstring (including >> the same examples and default). Is that intentional? > > Previously, their docstrings were the same except for the first line > (naming the remapped modifier) and the last line (naming the default). > Thank you for pointing that out, I've fixed the latter case. What about this line? +`super'. For example, `alt' means use the Alt_L and Alt_R keysyms. For example, in x-hyper-keysym it mentioned Hyper_L and Hyper_R instead. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 30 15:29:38 2016 Received: (at 24822) by debbugs.gnu.org; 30 Oct 2016 19:29:39 +0000 Received: from localhost ([127.0.0.1]:37442 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0vnW-000068-Pp for submit@debbugs.gnu.org; Sun, 30 Oct 2016 15:29:38 -0400 Received: from mail-wm0-f42.google.com ([74.125.82.42]:36330) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0vnU-00005w-Tz for 24822@debbugs.gnu.org; Sun, 30 Oct 2016 15:29:37 -0400 Received: by mail-wm0-f42.google.com with SMTP id p190so111325867wmp.1 for <24822@debbugs.gnu.org>; Sun, 30 Oct 2016 12:29:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=rzadl4ZEzSufEKSo0YjPFi5RkNIGsyEWgllk7ewR5z4=; b=X9d6ErAflaxVbzDLj1qNx0IhSynppHZbB3HTfJVgAm82OGccsFyt8iEetcULXaD4RF CgxUVa6UuZu/AsJt2yVssYNhWny8xwZgL6CGmtMoenfDnxJPYHyP4iATS4TRTmFo3itM amT26Z7SQoj72g7hs2SKaAp8QnzHviAyD1qqp4vz64mx82OJv0r8d55jp5+4ukw4gbaQ FDMRnKnBTJHLYkC+mJrIzuyF1Vdpm3btjquH6GYJhBzBbturqgE7CYKc1SJ1N1b7OJOu 9OrCeMn/mbR+h5VAmjIb6E77oqslbHCeu2iWvlRKwCOJTvWid3Q4CrdineJ2we/JjxKZ 1+9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=rzadl4ZEzSufEKSo0YjPFi5RkNIGsyEWgllk7ewR5z4=; b=BNaWKl/yhCKd+x4djCPU893jOT23YuDbNO70LR1BcQ6+DLNZ8JnzJhjvSPnhVvR+b3 NVvbb5KpcwidaJ/cuEqtkhkKP1EuGUqFrp7CA2ixVWcQdBNiGv5CCSAyuAIdEjvYDI/F xlI/YRtH+IAnFBvdMhModXnqwFYUspVIx3oeAEKwmEB44oD0tCSMn+asDXQ5b54G8nkV b7c84BwrqLJEAC7YBZFjhaNu+T9EBSdiFxGMag0/bpPZg2ARAPxPkWeMvv8TrFe0weLu si9SErdEjfXT8iwLYu4CNjTuqgkxLj7criJqSPmaGmnZ/c29MkRNNemVsOLvKXrciuQW FqBw== X-Gm-Message-State: ABUngvdjNM2V4gPqC8peJUlJm8+f+VD7f2Gs7+bTZT6u+MBzoCvUFtsLOP5Hq/DrxlddgA== X-Received: by 10.194.103.195 with SMTP id fy3mr23045178wjb.136.1477855771237; Sun, 30 Oct 2016 12:29:31 -0700 (PDT) Received: from localhost (dslb-092-072-002-098.092.072.pools.vodafone-ip.de. [92.72.2.98]) by smtp.gmail.com with ESMTPSA id c198sm20833634wme.24.2016.10.30.12.29.30 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 30 Oct 2016 12:29:30 -0700 (PDT) Date: Sun, 30 Oct 2016 20:29:29 +0100 From: Vasilij Schneidermann To: Alex Subject: Re: bug#24822: 25.1; [PATCH] Support remapping control X keysym Message-ID: <20161030192929.GC555@odonien.localdomain> References: <87oa22beqr.fsf@gmail.com> <20161030100201.GA555@odonien.localdomain> <87bmy1bstc.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87bmy1bstc.fsf@gmail.com> User-Agent: Mutt/1.7.1 (2016-10-04) X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 24822 Cc: 24822@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) > What about this line? > > +`super'. For example, `alt' means use the Alt_L and Alt_R keysyms. > > For example, in x-hyper-keysym it mentioned Hyper_L and Hyper_R instead. That line explains the keysyms for the value `alt`, so that should be fine. If someone wants the docstring to explain different values depending on what keysym remapping it supports, fine by me. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 30 15:38:20 2016 Received: (at 24822) by debbugs.gnu.org; 30 Oct 2016 19:38:20 +0000 Received: from localhost ([127.0.0.1]:37450 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0vvv-0000Kd-QI for submit@debbugs.gnu.org; Sun, 30 Oct 2016 15:38:20 -0400 Received: from mail-wm0-f41.google.com ([74.125.82.41]:34969) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0vvt-0000KO-RF for 24822@debbugs.gnu.org; Sun, 30 Oct 2016 15:38:18 -0400 Received: by mail-wm0-f41.google.com with SMTP id e69so202286685wmg.0 for <24822@debbugs.gnu.org>; Sun, 30 Oct 2016 12:38:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=g4IgawlW0GH9iU1DF5RGlxplQ2P9CygRdt8meMz8x70=; b=aU9PunBueDZNJvxoXpQ88TjluFhAcFcNQd6eD2VKN5azKxW7q1taXaLdxbEBNoV8w6 JEojaM4MfkJ+junRQJbQX7m/lMP0koMgyNYps/71CzMUTgeHvD/chD0eeZ9eVZQCUP7J T/NYg4F1SXluLH/VKaOFCbiOhOIWZ/fB0QvT2RLvJWUtUHJuBtn1//nRnjs7moJSM32G rLak36BlReCeTFtKyOedBlwa3GEbWar3Xa5Z+zCgA81GV82pjhMFAJWxvckbSGHUYWzq CQgg2sZXucwT39GLN3FRTdRTxrAq8LW2bH1KOcntfUFJTXv8fTbxRD/aQYOh8KyuFXci g+2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=g4IgawlW0GH9iU1DF5RGlxplQ2P9CygRdt8meMz8x70=; b=MY9TKxgjWpoGoKgtB4Zs7nlOBG6nje39sqCnFJHFDaCah1D84NumFl3euWKyz7JTp4 M6eW5jCKeqE1avs3ughXL/bFtgFlj3USiqxVfqhEwM22yBU0FIZj8ie+YNNbMbV/82/Z HwEEj06Ww7qLrF0QecDx++TAV4TTufq7ECseOliwZ+LpWQKenGjQRb6hCJPtqyae3ao9 BhLUCn58X5ezoDp6qvvoy6fY0RnkxZEY2m3r9Jap+c5F6AG8CT/vlyOD1pRgZqhWx8AI tWvY/QynIuqcp6yeCMXbWStS6Tb1V+jajI0uS2tgRYBgPdMBknbR/bPkb0K1u5MJva+c tvfQ== X-Gm-Message-State: ABUngve21HytSPBoE4mPh026XV8FN6sOnpJldi9Z6cAY8LW3RIlZX+lVsYBSBkYLBT2KyQ== X-Received: by 10.194.152.4 with SMTP id uu4mr7588812wjb.172.1477856291929; Sun, 30 Oct 2016 12:38:11 -0700 (PDT) Received: from localhost (dslb-092-072-002-098.092.072.pools.vodafone-ip.de. [92.72.2.98]) by smtp.gmail.com with ESMTPSA id c7sm26024854wjk.19.2016.10.30.12.38.11 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 30 Oct 2016 12:38:11 -0700 (PDT) Date: Sun, 30 Oct 2016 20:38:10 +0100 From: Vasilij Schneidermann To: Alex Subject: Re: bug#24822: 25.1; [PATCH] Support remapping control X keysym Message-ID: <20161030193810.GD555@odonien.localdomain> References: <87oa22beqr.fsf@gmail.com> <20161030100201.GA555@odonien.localdomain> <87bmy1bstc.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="yEPQxsgoJgBvi8ip" Content-Disposition: inline In-Reply-To: <87bmy1bstc.fsf@gmail.com> User-Agent: Mutt/1.7.1 (2016-10-04) X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 24822 Cc: 24822@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) --yEPQxsgoJgBvi8ip Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Sorry, I've looked at my version instead of the original one. I've attached a fixed one. --yEPQxsgoJgBvi8ip Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="0001-Support-remapping-control-X-keysym.patch" >From 6e26cf40ce1138ac2739492d8da01dcca1d14371 Mon Sep 17 00:00:00 2001 From: Vasilij Schneidermann Date: Sun, 30 Oct 2016 01:29:18 +0200 Subject: [PATCH] Support remapping control X keysym --- doc/lispref/os.texi | 10 ++++++---- etc/NEWS | 5 +++++ src/xterm.c | 43 +++++++++++++++++++++++++++++-------------- 3 files changed, 40 insertions(+), 18 deletions(-) diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 277abb1..97b086c 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -2254,14 +2254,16 @@ The variable is always local to the current terminal, and cannot be buffer-local. @xref{Multiple Terminals}. @end defvar -You can specify which keysyms Emacs should use for the Meta, Alt, Hyper, and Super modifiers by setting these variables: +You can specify which keysyms Emacs should use for the Control, Meta, +Alt, Hyper, and Super modifiers by setting these variables: -@defvar x-alt-keysym +@defvar x-ctrl-keysym +@defvarx x-alt-keysym @defvarx x-meta-keysym @defvarx x-hyper-keysym @defvarx x-super-keysym -The name of the keysym that should stand for the Alt modifier -(respectively, for Meta, Hyper, and Super). For example, here is +The name of the keysym that should stand for the Control modifier +(respectively, for Alt, Meta, Hyper, and Super). For example, here is how to swap the Meta and Alt modifiers within Emacs: @lisp (setq x-alt-keysym 'meta) diff --git a/etc/NEWS b/etc/NEWS index e29dfe2..a773e92 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -233,6 +233,11 @@ questions, with a handy way to display help texts. all call stack frames in a Lisp backtrace buffer as lists. Both debug.el and edebug.el have been updated to heed to this variable. ++++ +** The new variable `x-ctrl-keysym` has been added to the existing +roster of X keysyms. It can be used in combination with another +variable of this kind to swap modifiers in Emacs. + * Editing Changes in Emacs 26.1 diff --git a/src/xterm.c b/src/xterm.c index f0dd0ca..d6e1fe2 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -4701,12 +4701,15 @@ x_find_modifier_meanings (struct x_display_info *dpyinfo) int x_x_to_emacs_modifiers (struct x_display_info *dpyinfo, int state) { + int mod_ctrl = ctrl_modifier; int mod_meta = meta_modifier; int mod_alt = alt_modifier; int mod_hyper = hyper_modifier; int mod_super = super_modifier; Lisp_Object tem; + tem = Fget (Vx_ctrl_keysym, Qmodifier_value); + if (INTEGERP (tem)) mod_ctrl = XINT (tem) & INT_MAX; tem = Fget (Vx_alt_keysym, Qmodifier_value); if (INTEGERP (tem)) mod_alt = XINT (tem) & INT_MAX; tem = Fget (Vx_meta_keysym, Qmodifier_value); @@ -4717,7 +4720,7 @@ x_x_to_emacs_modifiers (struct x_display_info *dpyinfo, int state) if (INTEGERP (tem)) mod_super = XINT (tem) & INT_MAX; return ( ((state & (ShiftMask | dpyinfo->shift_lock_mask)) ? shift_modifier : 0) - | ((state & ControlMask) ? ctrl_modifier : 0) + | ((state & ControlMask) ? mod_ctrl : 0) | ((state & dpyinfo->meta_mod_mask) ? mod_meta : 0) | ((state & dpyinfo->alt_mod_mask) ? mod_alt : 0) | ((state & dpyinfo->super_mod_mask) ? mod_super : 0) @@ -4727,6 +4730,7 @@ x_x_to_emacs_modifiers (struct x_display_info *dpyinfo, int state) static int x_emacs_to_x_modifiers (struct x_display_info *dpyinfo, EMACS_INT state) { + EMACS_INT mod_ctrl = ctrl_modifier; EMACS_INT mod_meta = meta_modifier; EMACS_INT mod_alt = alt_modifier; EMACS_INT mod_hyper = hyper_modifier; @@ -4734,6 +4738,8 @@ x_emacs_to_x_modifiers (struct x_display_info *dpyinfo, EMACS_INT state) Lisp_Object tem; + tem = Fget (Vx_ctrl_keysym, Qmodifier_value); + if (INTEGERP (tem)) mod_ctrl = XINT (tem); tem = Fget (Vx_alt_keysym, Qmodifier_value); if (INTEGERP (tem)) mod_alt = XINT (tem); tem = Fget (Vx_meta_keysym, Qmodifier_value); @@ -4748,7 +4754,7 @@ x_emacs_to_x_modifiers (struct x_display_info *dpyinfo, EMACS_INT state) | ((state & mod_super) ? dpyinfo->super_mod_mask : 0) | ((state & mod_hyper) ? dpyinfo->hyper_mod_mask : 0) | ((state & shift_modifier) ? ShiftMask : 0) - | ((state & ctrl_modifier) ? ControlMask : 0) + | ((state & mod_ctrl) ? ControlMask : 0) | ((state & mod_meta) ? dpyinfo->meta_mod_mask : 0)); } @@ -12863,6 +12869,8 @@ With MS Windows or Nextstep, the value is t. */); #endif DEFSYM (Qmodifier_value, "modifier-value"); + DEFSYM (Qctrl, "ctrl"); + Fput (Qctrl, Qmodifier_value, make_number (ctrl_modifier)); DEFSYM (Qalt, "alt"); Fput (Qalt, Qmodifier_value, make_number (alt_modifier)); DEFSYM (Qhyper, "hyper"); @@ -12872,32 +12880,39 @@ With MS Windows or Nextstep, the value is t. */); DEFSYM (Qsuper, "super"); Fput (Qsuper, Qmodifier_value, make_number (super_modifier)); + DEFVAR_LISP ("x-ctrl-keysym", Vx_ctrl_keysym, + doc: /* Which keys Emacs uses for the ctrl modifier. +This should be one of the symbols `ctrl', `alt', `hyper', `meta', +`super'. For example, `ctrl' means use the Ctrl_L and Ctrl_R keysyms. +The default is nil, which is the same as `ctrl'. */); + Vx_ctrl_keysym = Qnil; + DEFVAR_LISP ("x-alt-keysym", Vx_alt_keysym, doc: /* Which keys Emacs uses for the alt modifier. -This should be one of the symbols `alt', `hyper', `meta', `super'. -For example, `alt' means use the Alt_L and Alt_R keysyms. The default -is nil, which is the same as `alt'. */); +This should be one of the symbols `ctrl', `alt', `hyper', `meta', +`super'. For example, `alt' means use the Alt_L and Alt_R keysyms. +The default is nil, which is the same as `alt'. */); Vx_alt_keysym = Qnil; DEFVAR_LISP ("x-hyper-keysym", Vx_hyper_keysym, doc: /* Which keys Emacs uses for the hyper modifier. -This should be one of the symbols `alt', `hyper', `meta', `super'. -For example, `hyper' means use the Hyper_L and Hyper_R keysyms. The -default is nil, which is the same as `hyper'. */); +This should be one of the symbols `ctrl', `alt', `hyper', `meta', +`super'. For example, `hyper' means use the Hyper_L and Hyper_R +keysyms. The default is nil, which is the same as `hyper'. */); Vx_hyper_keysym = Qnil; DEFVAR_LISP ("x-meta-keysym", Vx_meta_keysym, doc: /* Which keys Emacs uses for the meta modifier. -This should be one of the symbols `alt', `hyper', `meta', `super'. -For example, `meta' means use the Meta_L and Meta_R keysyms. The -default is nil, which is the same as `meta'. */); +This should be one of the symbols `ctrl', `alt', `hyper', `meta', +`super'. For example, `meta' means use the Meta_L and Meta_R keysyms. +The default is nil, which is the same as `meta'. */); Vx_meta_keysym = Qnil; DEFVAR_LISP ("x-super-keysym", Vx_super_keysym, doc: /* Which keys Emacs uses for the super modifier. -This should be one of the symbols `alt', `hyper', `meta', `super'. -For example, `super' means use the Super_L and Super_R keysyms. The -default is nil, which is the same as `super'. */); +This should be one of the symbols `ctrl', `alt', `hyper', `meta', +`super'. For example, `super' means use the Super_L and Super_R +keysyms. The default is nil, which is the same as `super'. */); Vx_super_keysym = Qnil; DEFVAR_LISP ("x-keysym-table", Vx_keysym_table, -- 2.10.1 --yEPQxsgoJgBvi8ip-- From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 04 05:11:06 2016 Received: (at 24822-done) by debbugs.gnu.org; 4 Nov 2016 09:11:06 +0000 Received: from localhost ([127.0.0.1]:43127 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c2aWg-0001Xk-AL for submit@debbugs.gnu.org; Fri, 04 Nov 2016 05:11:06 -0400 Received: from eggs.gnu.org ([208.118.235.92]:43842) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c2aWf-0001XH-6J for 24822-done@debbugs.gnu.org; Fri, 04 Nov 2016 05:11:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c2aWU-0001Jn-P1 for 24822-done@debbugs.gnu.org; Fri, 04 Nov 2016 05:10:59 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_05,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:48411) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c2aWU-0001Ib-7V; Fri, 04 Nov 2016 05:10:54 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2122 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1c2aWT-0000gQ-Dm; Fri, 04 Nov 2016 05:10:53 -0400 Date: Fri, 04 Nov 2016 11:11:15 +0200 Message-Id: <83a8dflido.fsf@gnu.org> From: Eli Zaretskii To: Vasilij Schneidermann In-reply-to: <20161030193810.GD555@odonien.localdomain> (message from Vasilij Schneidermann on Sun, 30 Oct 2016 20:38:10 +0100) Subject: Re: bug#24822: 25.1; [PATCH] Support remapping control X keysym References: <87oa22beqr.fsf@gmail.com> <20161030100201.GA555@odonien.localdomain> <87bmy1bstc.fsf@gmail.com> <20161030193810.GD555@odonien.localdomain> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -7.3 (-------) X-Debbugs-Envelope-To: 24822-done Cc: agrambot@gmail.com, 24822-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -7.3 (-------) > Date: Sun, 30 Oct 2016 20:38:10 +0100 > From: Vasilij Schneidermann > Cc: 24822@debbugs.gnu.org > > Sorry, I've looked at my version instead of the original one. > > I've attached a fixed one. Thanks, pushed to master. Please in the future include ChangeLog-style commit log message for your changes. From unknown Sat Aug 16 22:48:03 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 02 Dec 2016 12:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator