Keyboard layout sticks to french on emacs over ssh - macos

I have a mac, on which I routinely use two keyboard layouts, French and UK english.
Locally I have an installation of Aquamacs I believe, which is running fine. However my work involves connecting to a ssh server running on a Linux x64 architecture, and this is where the problem lies.
When running emacs over ssh with X forwarding, the keyboard layout/input method remains French, no matter what I do. I have tried toggling input method, forcing it to British, I even tried other input methods that seemed to work fine. The French mac keyboard layout is very unpractical for programming, so I would really like to use the regular british layout.
I have tried recompiling the latest version of emacs from scratch, I have also moved my .emacs so that it is not used and removed .emacs.d, to no avail. I have also tried the solution here How to return emacs to qwerty keyboard layout? This just changes U into U+1 in the status bar (I do not know what that means) but has no effect on the layout.
Any help would be greatly appreciated.

"I have tried toggling input method" is very vague,since there are many different levels where this can be done.
I suspect the issue is that your X server is using the French layout for some reason and that it does not correctly react to changes in Mac OS X's own layout choice. You might like to check the config of your X server.

Related

Weird Android Emulator and Mac tap-to-click sensitivity issue

I'm experiencing a really weird and frustrating issue with the Android Emulator on macOS Monterey.
I have "tap to click" enabled on my Macbook Pro (Mid 2015 15"), and it works fine in all other apps. But somehow, when the emulator window is active it seems to miss almost every other tap. If I click hard instead of tapping, it catches every click. The tap sensitivity in the Trackpad settings is set to "light".
So, it seems that the emulator window is somehow less sensitive to tapping than all other apps. I don't even know how this is possible, is there even such a thing as app-specific tap-sensitivity??
What's more, it's not only the emulator window itself that has this issue, but the emulator settings window as well. If I tap the "Enable clipboard sharing" toggle, it misses about 50% of the taps. If I click hard, it catches them 100%. If I try the same in some other app (tested with the "System Preferences" window), it catches 100% of the taps.
I have tested and tested this again to make sure I'm not biasing the results, but there really is a difference, and it's driving me nuts. I think it appeared after updating to Monterey, but not 100% sure of the exact timing correlation.
Any ideas??
My problem was really similar, I am using MAC with apple mouse, so I could fix it by disabling the mouse wheel on Android Emulator Extended Controls.
Hope that help
I've noticed the same issue some time ago. Unfortunately, I didn't find any solutions.
However, there are a couple of good enough workarounds:
Launch the emulator in a tool window. Anyway, this is a default approach for modern versions of Android Studio. To enable/disable it check Preferences -> Tools -> Emulator -> Launch in a tool window.
Use alt emulators. For instance, Genymotion doesn't have such an issue.
I ran into a simmiliar issue for me and the solution that i found was enabling "tap on click" to in the "system preferences" -> "trackpad".
I am new to the Android Emulator, but am experiencing the same issue in Ubuntu, even though I have tap-to-click disabled in the OS. I hate tap-to-click, so having an ultra-sensitive-to-touch Android screen emulated on my laptop is beyond frustrating.
Looking at the documentation, I came across the SOURCE_CLASS_POINTER method, which states:
The input source is a pointing device associated with a display. Examples: SOURCE_TOUCHSCREEN, SOURCE_MOUSE. A MotionEvent should be interpreted as absolute coordinates in display units according to the View hierarchy. Pointer down/up indicated when the finger touches the display or when the selection button is pressed/released. Use getMotionRange(int) to query the range of the pointing device. Some devices permit touches outside the display area so the effective range may be somewhat smaller or larger than the actual display size.
In reading that, I've come to believe this may actually be the default behavior due to touchpad events being interpreted through the SOURCE_TOUCHSCREEN method, rather than SOURCE_TOUCHPAD or SOURCE_MOUSE.
Unfortunately, I don't have a solution as much as a workaround:
I plugged in a mouse and tested the pointer up/down movements over the screen, which this part of the document suggests should register as a press. However, with the mouse it only responds to clicks. So it suggests to me that it is indeed properly interpreted as a SOURCE_MOUSE controlled pointer and not a SOURCE_TOUCHSCREEN controlled pointer.
So unless we can find out how to make the AVD properly interpret a touchpad as a touchpad, and not a touchscreen, using a mouse seems like the best solution.
For reference, I'm including this link to the AVD manual: https://developer.android.com/studio/run/emulator
UPDATE: Somehow over the period of about 18 hours and several restarts, my AVD no longer does tap-to-click on its virtual screen. It would be very hard to pinpoint exactly what changed because I've been updating packages frequently since I'm running a pre-alpha release of Ubuntu, but I think it's from using X11 instead of Wayland.
Which got me thinking, you could try changing your display server from Cocoa to X11. Thankfully, MacPorts, the MacOS version of the FreeBSD Ports Tree, makes it fairly easy to cross-compile software. It contains build recipes for multi-platform unix-like software, much like HomeBrew but often allowing for more customization.
That tap issue was annoying enough it's probably worth giving a shot.
(from macports website) The X11 windowing environment, for ports that depend on the functionality it provides to run. You have multiple choices for an X11 server: https://www.macports.org/install.php
I would build them in this order:
MacPorts: X11 - If you build it, you'll have a bunch of libraries already
MacPorts: QEMU - use make configure menu to select GTK3+, if there's no option for X11, try this build flag with make after you install X11 (pointing it at your X11's lib dir):
make -L/opt/X11/lib -lX11
Lastly, MacPorts: Android Platform tools
Related StackOverflow Q/As:
Compiling a C program that uses OpenGl in Mac OS X
Running x11 on Mac OS

mac magic keyboard on windows in intellij key binding

I have been using intellij on mac for the last 4 years, now using windows temporarily, and expect to return to mac soon.
I bought a magic keyboard for my windows machine so I wouldnt have to (re)learn 2 sets of keyboard shortcuts, and i switched intellij layout to mac default, but this does not work as I expected. The mac keyboard is pretending to be a windows keyboard rather than just being a mac keyboard.
Is there a simple way to tell the magic keyboard to just be a mac keyboard? I want all keyboard shortcuts to be exactly the same.
Ive googled this for a bit but found nothing helpful.
I looked into microsoft keyboard layout creator, but it appears the windows key will always be a windows key, and windows will never see a command or option key. This may be a viable solution, but looks like a time suck, and I'd like to know if anybody has suggestions before I go down this route any further.
Thanks for your help
Try making Windows key to act as Meta:
Press Help | Edit Custom Properties... (if a dialog appears, press "Create")
"idea.properties" file will open. Add keymap.windows.as.meta=true to a new line
Restart IDE

Recording X windows events

I am a novice when it comes to X windows but have some knowledge of Unix as such.
My project requires me to track user input and output on X window system. For instance, if the GUI is used to configure a route, I would like to know what application is used and what route has been configured. So far, I have explored the following options with partial success.
1)Tried to hook functions like XDrawString and XDrawText using LD_PRELOAD.
2)Used xwininfo to obtain window id and tools like xev.
3)Looked through similar discussions in this forum especially on xev and xinput
1)May not work with if X11 is statically linked? Not sure.
2)xev does not record key press events for a file edited with gedit or attempting to rename a file from the GUI
3)I am trying to go through X windows system internals.
I am pretty discouraged so far. Any input/pointer will be appreciated.
I think you want the cnee program from the Xnee project, which uses the X window system Record extension. The examples that I see for cnee are almost always about recording input events, but, according to the Xnee manual at https://xnee.files.wordpress.com/2012/10/xnee1.pdf, section 3.2.1 ("Record"), "Xnee can record the whole X11 protocol, not just mouse and keyboard events."
Regarding font operations, I believe that X font facilities, mostly through the X font server, evolved over time too, so it might be the case that the applications that you care about are doing X font operations which you can trace.

Synergy between mac and pc change mac hotkeys

Synergy is a program that enables you to use the same mouse and keyboard in two computers. I have a PC and mac connected directly with an Ethernet cable therefore the connection is great and it seems as if there is only one computer.
I am developing an iPad application and the only software that I have found that supports iwebkit for CSS is Expresso. I use that to edit my CSS files in the mac and I use dream weaver on my PC to edit PHP, HTML and JavaScript files. The only problem is that I am constantly using both computers to develop the application and its very frustrating using different shortcut keys for each computer. It would be very nice if I could use the same hot-keys on both computers.
So far I have tried:
Changing the modifier keys in the keyboard section under system preferences in the mac. That works but just with the keyboard from the mac not with the keyboard that I am using with synergy that controls both computers.
Creating applescripts that what they do is to send a shortcut key then compiling them and saving them as an application. After they are saved as an application I go to system preferences and try to run them with a different shortcut key. when I create that shortcut key system preferences crashes and closes without saving the changes.
Creating shortcut keys in synergy which it works but only in one computer. Synergy will always send the same keystroke regardless on which computer you are using.
Lastly I have tried looking for "IronAHK" which in a lot of posts people say it modifies the mac hotkeys but I have not been able to find it for the mac.
Is there a way to have the same universal access keys across my machines?
THe following article was very helpful for me (working from a Mac, controlling a PC):
http://www.nextofwindows.com/how-to-properly-map-keyboard-between-mac-and-pc-when-share-mouses-with-synergy/
Step 1: Configure Server
Step 2: Double-click on the PC (or Mac if the Server is a PC)
Step 3: Toggle the key Ctrl and Super to mirror each other
When adding a new computer in synergy you can change command and control keys. Here is an example in windows. I was not able to find it because synergy place this in a location where I never thought I could find it.
Now I can use control + c to copy files both in the mac and in the pc and most of the command such as control + a to select everything etc. To fix the other issues so that I can use 'home' to go to the beginning of the line for example I use the program provided by Evan Moran which was the first answer in this post.
For the mac I use KeyRemap4MacBook. It is pretty good for being free.
That said, consider using different source editors so that you can code only on one system. This will make your life a ton easier. Dreamweaver is not necessarily the best. Visual Studio is pretty good on Javascript, CSS, and HTML, and their express versions are free.
If all you need is syntax highlighting EditPlus is great on the PC and will work on all languages you mentioned. If you need to stay on a mac then TextWrangler is great as a basic source editor. Both have free trials. Good luck!

Better terminal in Mac OS X -- reversing the control and command key-mappings

I'm trying to have the same KDE Konsole experience within Mac OS X.
Here's my (overly complicated?) setup:
I have Control and Command swapped at the System Preferences level. (Can't live without this)
Parallels lets you, at the Parallels application level, also reverse Control and Command. So I can undo the System Preferences setting (and get the setup I want within virtual Linux)
I want this same per-application-opt-out for the Mac OS X Terminal app. Is it possible?
The solution you're looking for is KeyRemap4MacBook. There is a Tiger, Leopard, Snow Leopard, and Lion version.
Once installed, goto System Preferences -> KeyRemap4MacBook
Then select the following options:
Change Command_L Key (Left Command)
---> Command_L to Control_L (except Terminal, Virtual Machine, RDC)
Change Control_L Key (Left Control)
---> Control_L to Command_L (except Terminal, Virtual Machine, RDC)
You can repeat this for Command_R (Right Command) and Control_R (Right Control) also if you desire. Tested and working on my Macbook.
You can simply ssh into the Linux/Unix system and run X11 programs direct to your Mac screen: ssh -X user#host_or_ipaddress, login, and just run the X11 programs you want (e.g. emacs&) and the X11 apps will appear on the Mac display.
Pros:
X11 windows work just like any other window, including Exposé goodness, etc...
No need to work only inside the Parallels console window
Same solution works with any Linux/Unix system, remote or virtual
ssh connection is secure even over the internet
Tech info:
"ssh -X" turns on X11 forwarding for the ssh connection, i.e. the X11 display connection is tunneled through ssh securely
"ssh -X" also handles X11 authentication tunneling
X11.app is automagically started on OSX by launchd when needed
X11 can connect to displays over the network, which is one of the few cool things about it ;-)
There is very good and key-mapping flexible terminal: iTerm2
My favorite set: iTerm + zsh + oh-my-zsh
The 2016 solution is to use Karabiner open-source program which allows you to remap modifier and other keys with very fine granularity, for example
Remap only the left ⌘ Cmd or Option key.
Remap a key only for specific applications, e.g. only inside Terminal, Emacs, or virtual machine.
For example, here's how to remap left ⌘ Cmd key to act as Ctrl only inside Terminal (and leave the right one unaffected so that you could still use e.g. ⌘ Cmd + Tab to switch between apps):
You can customize the command keys used for an individual application in System Preferences > Keyboard & Mouse > Keyboard Shortcuts. I think (if I understand correctly what you're trying to do) that this might allow you to accomplish your goal. You could remap all of Terminal's command keys to use control instead of command, to get them out of your way... but then you might need to do a lot of customization on the machines you ssh into, so that they use Command instead of control
It seems that you're going to have to do an ENORMOUS amount of work just to allow you to use your pinky instead of your thumb for the modifier key.
Another possibility: user preferences can be manipulated by the "defaults" command. I haven't been able to find a way to use this to control they modifier key mappings, but it should logically be possible (if you're willing to do a lot of digging). If so, then you could write short scripts to switch back and forth between Mac default and your swapped mode. Trigger the scripts with Quicksilver, and whenever you use Terminal you can call one script, and whenever you leave it you can call another. Again, a big pain to achieve what you want, but it might be possible.
I don't think there's a clean and simple solution.
I've seen third-party programs that give more control over manipulating modifier keys, if you're willing to install them (probably kernel extensions). They might be able to do what you want, but I don't recall the names. If you google for programs to fix emacs and vi keys you might find them.
Good luck.
I had exactly the same problem as you. I've remapped Command to CAPS Lock, and Control to Command, but as a frequent Linux user I want both setups to be as similar as possible. This is how I solved it:
Install Keyboard Maestro (not free, but totally worth it), and set it up to run at login.
Inside KM, define macros to send CMD+{key} to CTRL+{key} inside Terminal.
If you want to remap a lot of keys this is a lot of work. But I've already done it myself, you can just download this file kmmacros. Double-clicking is enough to install it. A couple of caveats:
You need to set Terminal to use option as a meta key (Terminal > Preferences > Keyboard).
The bindings are only for emacs-mode. This cheat sheet should be helpful.
Most default shortcuts don't work anymore (CMD-N, CMD-C, ...), and the menu in Terminal does not reflect this. For some conflicts (New Window, Close Window), I've taken the ones from Gnome.

Resources