Bug 1924 - Cannot type ASCII some characters in TextEditor on Mac with some non-US keyboard
Summary: Cannot type ASCII some characters in TextEditor on Mac with some non-US keyboard
Status: RESOLVED FIXED
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Text Editor ()
Version: 2.8.2
Hardware: PC Mac OS
: High major
Target Milestone: ---
Assignee: Duncan Mak
URL:
Depends on:
Blocks:
 
Reported: 2011-11-08 00:57 UTC by Atsushi Eno
Modified: 2013-01-09 10:22 UTC (History)
10 users (show)

Tags: gtk
Is this bug a regression?: ---
Last known good build:


Attachments
Patch fixing the above mentioned two issues (1.82 KB, patch)
2012-05-08 09:05 UTC, Michael Natterer
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED FIXED

Description Atsushi Eno 2011-11-08 00:57:28 UTC
I use JP106 (Mac) keyboard and cannot type '_' on OSX.

I can type '_' on Banshee, so I don't think it is Gtk+ issue but rather a MD issue.

What kind of keyboard configuration does MD do? If I got to know which sources to read, I'd have a look instead of you guys.

(Setting the issue as major, imagine the world where you can type '_' only by copypasting ;-)
Comment 1 Atsushi Eno 2011-11-08 07:20:08 UTC
I can type '_' in the search text box. So it seems TextEditor-only issue.
Comment 2 Mikayla Hutchinson [MSFT] 2011-11-08 07:57:06 UTC
Might be a dup of 828. This is probably happening because MD decomposes opt-foo chars.
Comment 3 Marek Habersack 2011-11-15 15:05:41 UTC
This is most probably fixed in the new gtk
Comment 4 Eduardo Scoz 2011-12-27 13:42:10 UTC
Hey Hutch, I'm not sure if this is related, but I'm getting a similar error when using the US-International-PC keyboard on OSX (macbook with the traditional US keyboard). 

When using that keyboard, several characters start requiring two keys to be pressed.. so for example to show a double quote, I have to press the double-quote and then space. Pressing double quotes followed by the letter "a" becomes ä. 

In OSX, this doesn't work at all, including in the MD search box.
Comment 5 Marcos Jr. 2012-02-15 12:31:03 UTC
I'm using MonoDevelop 2.8.6 and I confirm that I cannot use accents (áãóúçàñ) neither quotes (") when using US-International keyboard layout. Other gtk apps works fine.
OSX Lion 10.7.2.
Comment 6 Mikayla Hutchinson [MSFT] 2012-02-15 14:23:18 UTC
Can you please try the Mono 2.10.9 beta? It includes the new GTK+, which fixes several problems like this.
Comment 7 Marcos Jr. 2012-02-15 16:11:18 UTC
I just installed 2.10.9 beta, the behavior has changed, but its still wrong. 
These chars are typed as following:

ã = a
" = ˝
ñ = n
ç = ć

So, I still can't use ~ and the double quote ". Other chars as single quote ' , á, etc. seems to be fixed.

Thanks.
Comment 8 Duncan Mak 2012-02-15 16:19:40 UTC
Could you try again with build 210090004, which was pushed to the Beta channel last night?
Comment 9 Mike Krüger 2012-02-29 07:42:04 UTC
*** Bug 3680 has been marked as a duplicate of this bug. ***
Comment 10 Mike Krüger 2012-02-29 11:47:55 UTC
*** Bug 3680 has been marked as a duplicate of this bug. ***
Comment 11 Francisco Figueiredo Jr. 2012-04-06 17:17:52 UTC
Hi, all!

I just tested Mono 2.10.9 with Monodevelop 2.8.8.4 on my Lion osx 10.7.2 and while I'm being able to correctly write á, é, ó, I can't write double quotes. It always gets written as ˝, just like Marcos Jr. report above.

I'm using International-PC keyboard layout.
Comment 12 Mikayla Hutchinson [MSFT] 2012-05-02 15:17:29 UTC
Mitch, could you please take a look at this? It sounds like the keyboard mapping fixes mostly fixed things, but " is still broken.
Comment 13 Michael Natterer 2012-05-08 08:05:00 UTC
Back from Vienna and looking into this. I can reproduce exactly the
stuff from comment #7 with the US-International keyboard layout, on
plain gtk-2-24 git HEAD.
Comment 14 Michael Natterer 2012-05-08 09:01:35 UTC
The inability to type a dead tilde is because US International delivers
yet another dead tilde variant not covered by the table in gdkkeys-quartz.c

Failing to enter " is because gtkinputcontextsimple.c doesn't special
case deaddoubleacute plus space to produce ".

I have no clue how I am supposed to enter a cedille for the "ç = ć"
case so I cannot fix it.

Patch for the first two issues follows.
Comment 15 Michael Natterer 2012-05-08 09:05:44 UTC
Created attachment 1826 [details]
Patch fixing the above mentioned two issues
Comment 16 Michael Natterer 2012-05-08 09:27:39 UTC
I think there is simply no dead cedille, but I can enter Option-c and
Option-C just fine to produce ç and Ç on US-International.

Marcos Jr., what do you do enter produce the "ç = ć" mitmatch?
Comment 17 Michael Natterer 2012-05-08 09:27:58 UTC
mismatch, even :)
Comment 18 Michael Natterer 2012-05-08 10:09:45 UTC
I pushed the gdkkeys-quartz.c part (handling of the additional dead tilde)
to upstream master and gtk-2-24, but would like to discuss the input
method fix before pushing.
Comment 19 Michael Natterer 2012-05-10 05:08:23 UTC
The input method patch that allows entering " is now also in upstream
master and gtk-2-24.
Comment 20 Mikayla Hutchinson [MSFT] 2012-05-10 20:28:42 UTC
Thanks, I synced them into bockbuild. Just need to get them into a release.
Comment 21 Francisco Figueiredo Jr. 2012-06-10 22:02:55 UTC
Is this fix available with Monodevelop 3.0.2? Because I downloaded it to give it a try and I'm seeing the same problem regarding the double quotes char "
Comment 22 Marcos Jr. 2012-06-10 22:31:20 UTC
Version 3 is not working for me to. Cannot type double quotes neither cedilla ç.
Comment 23 Mikayla Hutchinson [MSFT] 2012-06-11 20:20:26 UTC
The fix is in the GTK+ shipped with Mono. What package version of Mono do you have? You can find out in the MonoDevelop about box.
Comment 24 Francisco Figueiredo Jr. 2012-06-12 00:37:08 UTC
Hi, Michael!

I downloaded the latest mono from mono-project.com. 2.10.9 build 11.

Here is the version information from Monodevelop:


MonoDevelop 3.0.2
Runtime:
	Mono 2.10.9 (tarball Mon May  7 20:25:51 EDT 2012)
	GTK 2.24.10
	GTK# (2.12.0.0)
	Package version: 210090011
Apple Developer Tools:
	 Xcode 4.2 (828)
	 Build 4D199
Monotouch: 
Mono for Android not installed
Build information:
	Release ID: 30002000
	Git revision: 046db1bb0d9d438aa4d3468d66c6f963bc44c51a-dirty
	Build date: 2012-05-23 21:39:54+0000
	Xamarin addins: d99a1741642a336943d5607bdc1a09efa2ac3b86


I hope it helps.
Comment 25 Mikayla Hutchinson [MSFT] 2012-06-12 15:22:32 UTC
Duncan, does that build have the patch added to bockbuild in 0df5905adcbd7de7ef1fc8fb6f71f07b532d6b3a ?
Comment 26 Duncan Mak 2012-06-12 17:16:03 UTC
The latest gtk tarball used in a build came from May 7th.

-rw-r--r--  1 root    admin  185000448 May  7 18:29 gtk+-2.24.10.tar.bz2

The fix was committed on May 10:

commit 0df5905adcbd7de7ef1fc8fb6f71f07b532d6b3a
Author: Michael Hutchinson <m.j.hutchinson@gmail.com>
Date:   Thu May 10 20:20:25 2012 -0400

    [gtk] Add more commits from git, fixes bug 1924
    
    Cannot type ASCII some characters in TextEditor on Mac with some non-US keyboard

I'll do a new Mono build this week and roll it out along with the GDI+ fixes.
Comment 27 Duncan Mak 2012-06-12 19:51:10 UTC
The build bot we use to build Mono 2.10 packages is still running 10.5 and we now depend on some 10.6+ event types like NSEventType{Magnify, Rotate, Swipe}:

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/nsevent_Class/Reference/Reference.html#//apple_ref/c/econst/NSEventTypeSwipe


I'm gonna try to rerun the build from a bot running 10.6 tomorrow.
Comment 28 Elias Hedberg 2012-07-03 03:24:28 UTC
I have a similar problem, that I guess is part of the same bug: I recently installed Mono and MonoDevelop to take my first stumbling steps in C# and realised I cannot write backslash (\) in MD, which makes writing escaped characters a little difficult (basically requires copy-pasting).

I’m using MD 3.0.3.2 (see full version info at the end) under Mac OS X 10.6.8 with a Swedish keyboard and the standard way to write backslash there is ALT + SHIFT + 7 (as SHIFT + 7 is a normal slash).

Pressing ALT + SHIFT + 7 in MD, however, brings up text from other parts of the document – sometimes text from the row before, sometimes text from the next row above which has the same indentation, sometimes text that follows next on the same row, the pattern is not quite clear but there is somekind of system to it.

The problem exists in the search box too, but there ALT + SHIFT + 7 results in no input at all.

The combination works fine in all other programs I’ve checked.

As for other keyboard layouts:
• German – ALT + SHIFT + 7 – same problem
• Italian pro – no special combination (just press the key to the left of key "1") - no problem
• French – ALT + SHIFT + . – same problem
• Russian – cannot find any key combination for backslash
• Polish – ALT + SHIFT + 9 – same problem
• Polish – no special combination (just press the key three steps to the left of key "L") - no problem
• Arabic – no special combination (just press the key three steps to the left of key "L"/"م") - no problem
• Afghan Dari – no special combination (just press the key three steps to the left of key "L"/"م") - no problem
• Persian – no special combination (just press the key three steps to the left of key "L"/"م") - no problem
• Turkish – ALT + SHIFT + 6 – same problem

So it seems that all the layouts that require SHIFT + ALT + [some key] have trouble writing the backslash in mono (but not in Chrome for example), whereas those with a key directly mapped to backslash do not.

--- Full version informaiton ---

MonoDevelop 3.0.3.2
Installation UUID: 03eb822b-7577-4214-a476-3af9db0c5fde
Runtime:
	Mono 2.10.9 (tarball)
	GTK 2.24.10
	GTK# (2.12.0.0)
	Package version: 210090011
Mono for Android not installed
Apple Developer Tools:
	 Xcode 3.2 (1610)
	 Build 10A432
Monotouch: 
Build information:
	Release ID: 30003002
	Git revision: 7bf6ac0ca43c1b12703176ad9933c3484c05c84c-dirty
	Build date: 2012-06-16 04:36:10+0000
	Xamarin addins: 62ad7268d38c2ece7e00dc32960bd3bdab8fec38
Operating System:
	Mac OS X 10.6.8
	Darwin localhost 10.8.0 Darwin Kernel Version 10.8.0
	    Tue Jun  7 16:33:36 PDT 2011
	    root:xnu-1504.15.3~1/RELEASE_I386 i386
Comment 29 Francisco Figueiredo Jr. 2012-07-21 18:53:09 UTC
I just installed 3.0.3.4 and now I can correctly write a single quote char.  '  congratulations and thanks for fixing that! Now I can go back to using monodevelop on osx.

I still get problems trying to write a tilde char though. It shows a strange block char. :(  

I don't use this char too much but I thought it would be good to report that problem.

Again, thanks for fixing the single quote bug.
Comment 30 Francisco Figueiredo Jr. 2012-09-13 21:43:22 UTC
Hi all!

I just downloaded Monodevelop 3.0.4.6 and I'm sad to report that I still can't write a double quotes ( " ) char :(

I can write é, á and other chars.

I still can't write a tilda char though.
Comment 31 Michael Natterer 2012-09-14 03:20:59 UTC
Francisco, what keyboard layout are you using?
Comment 32 Francisco Figueiredo Jr. 2012-09-18 22:41:54 UTC
Hi, Michael. Sorry for late response...

I'm using US-International PC keyboard layout.
Comment 33 Michael Natterer 2012-09-20 03:08:53 UTC
Thanks Francisco,

this issue was fixed long ago, but I don't exactly know which MD version
you need to have the fix, can somebody from Xamarin provide that info
please?
Comment 34 Michael Natterer 2012-09-20 03:09:50 UTC
I only mean the issue with " on US-International, there might be
other non-working keys on other keyboard layouts.
Comment 35 Mikayla Hutchinson [MSFT] 2012-09-20 16:08:07 UTC
Francisco, what's the GTK version and the Mono package version in the MonoDevelop About dialog?
Comment 36 Francisco Figueiredo Jr. 2012-09-21 15:21:57 UTC
Hi, Michael.

This is the information in the about dialog:

MonoDevelop 3.0.4.6
Installation UUID: 
Runtime:
	Mono 2.10.9 (tarball)
	GTK 2.24.10
	GTK# (2.12.0.0)
	Package version: 210090011


I hope it helps.
Comment 37 Francisco Figueiredo Jr. 2012-09-21 15:37:08 UTC
Note that this information is the same I get when Using Monodevelop 2.8.8.4 which has NUnit working. All other versions besides this keyboard error, also has problems running nunit tests.
Comment 38 Francisco Figueiredo Jr. 2012-10-03 20:57:39 UTC
Any updates about this issue?
Comment 39 Michael Natterer 2012-10-11 06:07:14 UTC
Michael, the version Francisco is using should have the needed keymap
fixes shouldn't it?
Comment 40 Mikayla Hutchinson [MSFT] 2012-10-11 17:08:53 UTC
I believe so. Duncan, can you confirm what gtk+ version patches were included in that Mono build?
Comment 41 ramon 2012-11-28 08:39:16 UTC
Having the same issue on OS X 10.8.2, US - International keyboard. Monodevelop 3.0.5.

Is there any news on this fix?

Workaround is typing quotes anywhere else and copy-pasting them back to mlnodevelop. I find using spotlight the easiest. It still is a really annoying bug though. If there is a better workaround I'ld like to know.
Comment 42 Francisco Figueiredo Jr. 2012-11-28 09:11:03 UTC
I'm also still facing this problem. 

The only workaround I tried and may work for you is to use another kayboard layout. If you don't mind, you can use the US keyboard, not the US International PC.

But as I use accented chars very much, I don't want to change the keyboard layout. 

I hope it helps.
Comment 43 ramon 2012-11-28 09:20:32 UTC
Many thanks Francisco, it works. I'll just keep both US and US International PC checked and switch whenever I need to work with Mono.

Others who face this issue, here is how to apply this workaround in Mac OS X 10.8:
- Click on the Apple logo in the top left corner of your screen
- Click on System Preferences
- Click on Language & Text
- Click on Input Sources (the most righthand tab)
- Scroll down the list and check "U.S.", do not uncheck your current keyboard type
- A new icon will appear beside time and date in the top right of your screen, displaying the icon that fits your current input language. Set it to U.S. whenever you work with Mono by clicking on it. Revert to your original setting if you are done.
Comment 44 Kristian Rietveld (inactive) 2012-11-28 09:48:51 UTC
So if I understand correctly, the "US" layout works, but "US International PC" does not?
Comment 45 Francisco Figueiredo Jr. 2012-11-28 10:10:48 UTC
Yes, it seems so. I got this tip a long time ago when I first started to see the issue. I remember I saw it in a Unite support forum.
Comment 46 Michael Natterer 2012-11-30 09:17:52 UTC
I pushed a patch to upstream gtk-2-24 that fixes:

'+c = ç
"+foo = foo-umlaut
Comment 47 Mikayla Hutchinson [MSFT] 2013-01-07 10:12:49 UTC
Those patches have been pulled into our GTK builds.
Comment 48 Francisco Figueiredo Jr. 2013-01-08 08:08:44 UTC
Hi, Michael Hutchinson.

Which Monodevelop version should I use which has this bug fixed?

I just tried the 3.0.6 and although I can write the "é" char, I still can't write the double quote ( " ). It is just like comment 11 before.

Thanks in advance.
Comment 49 Mikayla Hutchinson [MSFT] 2013-01-09 10:22:50 UTC
The fix is in Mono, not MonoDevelop, and we have not yet released a Mono installer with the fix.