Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Mon, 5 Mar 2001 19:44:19 +0100 From: Corinna Vinschen To: Jason Tiller Cc: cygwin AT cygwin DOT com Subject: Re: Patch submission for AltGr handling Message-ID: <20010305194419.R1398@cygbert.vinschen.de> Mail-Followup-To: Jason Tiller , cygwin AT cygwin DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from jtiller@sjm.com on Tue, Feb 27, 2001 at 02:25:55PM -0800 Hi Jason, we just talked on cygwin-developers about your patch. Could you please resubmit a patch which doesn't introduce another CYGWIN option but instead uses automatic recognition of the current keyboard setting? For example the expression if (PRIMARYLANGID (LOWORD (GetKeyboardLayout (0)) == LANG_ENGLISH) should work. Thanks, Corinna On Tue, Feb 27, 2001 at 02:25:55PM -0800, Jason Tiller wrote: > Hello, Everyone, :) > > Per the instructions on http://www.cygwin.com/contrib.html, here is > the patch and ChangeLog entry for my minor changes to allow the user > to configure the right-side key (AltGr) to generate > Meta-prefixed characters as opposed to high-bit characters. This is > accomplished by a new CYGWIN environment variable option: > 'right_alt_meta'. With this specified, AltGr generates Meta. The > default case or with 'noright_alt_meta' specified is to ignore AltGr > in the console handler. > > I chose to submit this here because the page indicated that small > patches could be sent to the user list. I would be willing to submit > text for the FAQ and/or User Guide if either of those documents had a > section on the CYGWIN variable. > > Here are the diffs: > > --- environ.cc.orig Mon Jan 29 18:36:10 2001 > +++ environ.cc Mon Feb 26 22:44:40 2001 > @@ -33,6 +33,7 @@ extern BOOL allow_smbntsec; > extern BOOL strip_title_path; > extern DWORD chunksize; > BOOL reset_com = TRUE; > +extern BOOL meta_mask; > static BOOL envcache = TRUE; > > static char **lastenviron = NULL; > @@ -451,6 +452,7 @@ struct parse_thing > {"ntsec", {&allow_ntsec}, justset, NULL, {{FALSE}, {TRUE}}}, > {"smbntsec", {&allow_smbntsec}, justset, NULL, {{FALSE}, {TRUE}}}, > {"reset_com", {&reset_com}, justset, NULL, {{FALSE}, {TRUE}}}, > + {"right_alt_meta", {&meta_mask}, justset, NULL, {{LEFT_ALT_PRESSED}, {LEFT_ALT_PRESSED|RIGHT_ALT_PRESSED}}}, > {"strip_title", {&strip_title_path}, justset, NULL, {{FALSE}, {TRUE}}}, > {"title", {&display_title}, justset, NULL, {{FALSE}, {TRUE}}}, > {"tty", {NULL}, set_process_state, NULL, {{0}, {PID_USETTY}}}, > > > --- fhandler_console.cc.orig Mon Jan 29 18:36:12 2001 > +++ fhandler_console.cc Mon Feb 26 22:44:40 2001 > @@ -50,6 +50,11 @@ const char * get_nonascii_key (INPUT_REC > > static BOOL use_mouse = FALSE; > > +// This is a constant set by the user via CYGWIN=. It is set to a > +// mask which we apply against characters coming from the console to > +// determine it they should be prefixed by META (\033). > +int meta_mask = LEFT_ALT_PRESSED; > + > static tty_min NO_COPY *shared_console_info = NULL; > > /* Allocate and initialize the shared record for the current console. > @@ -220,7 +225,7 @@ fhandler_console::read (void *pv, size_t > converting a CTRL-U. */ > if ((unsigned char)ich > 0x7f && current_codepage == ansi_cp) > OemToCharBuff (tmp + 1, tmp + 1, 1); > - if (!(input_rec.Event.KeyEvent.dwControlKeyState & LEFT_ALT_PRESSED)) > + if (!(input_rec.Event.KeyEvent.dwControlKeyState & meta_mask)) > toadd = tmp + 1; > else > { > > > Here is the ChangeLog: > > Tue Feb 27 14:22:10 2001 Jason Tiller > > * environ.cc: Add extern link to to keyboard meta key mask > global variable. > Add "right_alt_meta" CYGWIN environment option to 'struct > parse_thing known[]' array. User sets "right_alt_meta" to use > the right key (AltGr) as Meta, not as a modifier. > * fhandler_console.cc: Add global variable 'meta_mask'. > (fhandler_console::read): Use new meta_mask variable to test > input keystrokes for Meta instead of just LEFT_ALT_PRESSED. > > > Thank you for considering this patch. I hope others can get some use > out of it. > > ---Jason Tiller > jdtiller AT best DOT com > Sonos > > > -- > Want to unsubscribe from this list? > Check out: http://cygwin.com/ml/#unsubscribe-simple -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc. -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple