X-Recipient: archive-cygwin AT delorie DOT com X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 96BDB39C0BBE Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tlinx.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cygwin AT tlinx DOT org Message-ID: <600F4D1A.90102@tlinx.org> Date: Mon, 25 Jan 2021 14:58:34 -0800 From: L A Walsh User-Agent: Thunderbird 2.0.0.24 (Windows/20100228) MIME-Version: 1.0 To: Ariel Burbaickij Subject: Re: switching to any other than English keyboard layout is not handled correctly anymore on the prompt at minimum References: <20210125222916 DOT b1fa2ddfb60088112f17eb2c AT nifty DOT ne DOT jp> <600F2804 DOT 6000401 AT tlinx DOT org> In-Reply-To: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: "cygwin AT cygwin DOT com" Cc: cygwin AT cygwin DOT com Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "Cygwin" On 2021/01/25 12:50, Ariel Burbaickij wrote: > Wait a sec, what do you specifically mean with "... Cygwin just uses the > POSIX standard..." -- POSIX standard for what and how does it interfere > with getting the current layout and mapping from OS? --- Cygwin doesn't get things directly from the OS. It relies on things like the locale being set correctly in order for it to function. Windows does not use the POSIX or unix/linux type API, so changing settings in Windows isn't something that will necessarily configure cygwin to work. If you are using the cygwin terminal, I don't know -- I don't use the same features. But, for example, bash, the shell likely running in the cygwin terminal, has its own understanding of how it should process characters. It, in turn, relies on the "readline" facility. It may be configured by default, but a few settings, I had to set *ages ago* (been using cygwin for >20 years) in the ".inputrc" file in my home directory: set convert-meta off set input-meta on set output-meta on Those all may be default settings now, but at one point in time I think I had to set them. > What do you also mean with "... So you need to set your terminal to > interpret unicode..." ? My terminal is Cygwin Terminal here. cmd.exe > does at least handle Russian and German just fine, not so Arabic and > Hebrew but this, I am pretty sure, because of some additional fiddling > around right-to-left writing needed. Notepad++(!) already handles all > input types just fine as do all the other programs tested so far. So, > what are these supposed big OS-side secrets specifically that cygwin > cannot get to here? --- It isn't a matter of "can't", it is a matter of doing so would cause cygwin not to behave like programs on linux or on unix. Cygwin relies on settings in configuration files -- not OS-side hidden secrets. At one point in time, most to all of windows internals were undocumented. On unix/linux/posix they worked together to document how all the programs would work together, but windows wanted no part of that. Just like the path-separator on windows is usually '\'. Bill Gates chose that specifically because it was the "opposite" of "/" that was used on unix and CP/M (a micro computer OS at the time). He wanted to differentiate his offering by making sure DOS and Windows did things differently from how standards were shaping up (early 80's) in other OS's. You and others are stuck with the legacy of those choices. Just like if you set the keyboard in a MS app running on an apple OS, it wouldn't necessarily change anything in the apple OS. They went yet another, different way. At least MS didn't sue everyone who came close to their standards or software like Apple did (and still does). This prevented any sort of compatible software from outside of Apple's approval. MS could have gone that way -- but because it was the largest, it got some controls slapped in place to allow compatibility. Cygwin arose out of linux + posix compatibility -- not out of Windows, as such, you need to figure out how to configure cygwin separately and apart from Windows. Cygwin tries to document things and follow open standards. In the extreme, cygwin has open source, so you can see how it works, and change it yourself to suit your needs (or hire a software engineer to do so). Windows and apple don't supply source nor extreme detail in how their OS works. I was trying to be helpful and tell you that cygwin interfaces may need extra configuration if you want to personalize things or go with non defaults. On windows, if you want to do anything outside of what the OS clearly presents to you, it will be a much more difficult path to change anything. I don't know the answers to the questions you are asking, I don't work on cygwin, I just use it on windows as a slightly more comfortable text-based interface than what windows has provided over the years. I have some background in linux which makes cygwin's interface more familiar to me. I've never gotten into Windows development, since it was always too costly and too dead-end. Several technologies from MS have come and gone over the past 40+ years. I could have invested in learning any of them, and now, many or most would be gone. Given that, learning a special API that would only be usable for windows, that likely would be obsolete in 5 years, and paying for the privilege of being allowed to use such an API and tools seems like a waste of time. As such, things I learned about unix and shell 30 years ago, are still usable + useful today. I don't know how to create a keyboard layout on linux, I use what is there. I certainly don't know how to modify a cygwin/posix keyboard layout to be compatible with windows. Sorry. Maybe someone else knows more. If you want cygwin to automatically read your changes in windows, I'm told that the cygwin project would be happy to accept patches and source updates to enhance its functionality. Cheers! Linda -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple