From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: barbier@linuxfr.org (Denis Barbier) Newsgroups: gmane.emacs.devel Subject: Re: Xfree86 and the Meta key (+patch) Date: Tue, 5 Oct 2004 07:53:35 +0200 Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Message-ID: <20041005055334.GA1138@linuxfr.org> References: <20041004213043.GB5896@linuxfr.org> <94C3F12E-1658-11D9-84C1-000D93505B76@swipnet.se> Reply-To: barbier@linuxfr.org, emacs-devel@gnu.org NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1096956453 12257 80.91.229.6 (5 Oct 2004 06:07:33 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 5 Oct 2004 06:07:33 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Oct 05 08:07:28 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1CEiTw-0000Wx-00 for ; Tue, 05 Oct 2004 08:07:28 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CEiaZ-0004jI-6l for ged-emacs-devel@m.gmane.org; Tue, 05 Oct 2004 02:14:19 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CEiaS-0004iV-5a for emacs-devel@gnu.org; Tue, 05 Oct 2004 02:14:12 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CEiaR-0004hy-Lc for emacs-devel@gnu.org; Tue, 05 Oct 2004 02:14:11 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CEiaR-0004hr-Hn for emacs-devel@gnu.org; Tue, 05 Oct 2004 02:14:11 -0400 Original-Received: from [212.27.33.224] (helo=main.uucpssh.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CEiSq-0007Ni-6W for emacs-devel@gnu.org; Tue, 05 Oct 2004 02:06:20 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by main.uucpssh.org (Postfix) with ESMTP id 3F93763692 for ; Tue, 5 Oct 2004 08:06:19 +0200 (CEST) Original-Received: by main.uucpssh.org (Postfix, from userid 10) id DC6BA636E8; Tue, 5 Oct 2004 08:06:17 +0200 (CEST) Original-Received: by localhost.localdomain (Postfix, from userid 1000) id 4071A23D10; Tue, 5 Oct 2004 07:53:35 +0200 (CEST) Original-To: emacs-devel@gnu.org Mail-Followup-To: barbier@linuxfr.org, emacs-devel@gnu.org Content-Disposition: inline In-Reply-To: <94C3F12E-1658-11D9-84C1-000D93505B76@swipnet.se> User-Agent: Mutt/1.5.6+20040907i X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at uucpssh.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:27916 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:27916 On Tue, Oct 05, 2004 at 12:56:09AM +0200, Jan D. wrote: > >As shortcuts cannot work if a modifier is bound to different symbols, > >another solution is to let emacs handle this case in a smarter way. > >This is the purpose of the patch sent by Jerome; when a modifier is > >bound to different symbols, only one is taken into account. There is > >no > >change for working configurations, and many configurations which are > >currently broken will work out of the box without having to run > >xmodmap. > > I am testing the patch and something like it will be checked in. But > it would be nicer if Emacs could determine that Hyper and Super > is bound to fake keys and just ignore them. I'm currently using XKB > to get geometry info to determine that, but I wonder if there is a > better way. The reason I want this is that with the proposed patch > the logo key becomes Super on my system, which is not really helpful > either. Can you please tell me what your configuration is? I am quite surprised that it does not work as expected, doesn't xev also report that your logo key is Super_{L,R}? > If we could determine that Super is a fake key it would become Meta > which is so much better. Fake keys have no symbol at level 0, so before the for (code_col = 0; code_col < syms_per_code; code_col++) loop, you can test whether syms[((code - min_code) * syms_per_code)] == NoSymbol and skip this key in this case. I did not want to go this way because it is XFree86-centric, the other solution is more generic. Denis