Give keyboard shortcuts priorities to my keyboard layout over Word 2010 - ms-word

I want a trilingual English-French-German keyboard with the Dvorak layout on Windows 7. I made it myself with the Microsoft Keyboard Layout Creator v. 1.4. For some letters I have to assign five variants (e, é, è, ê, ë plus the capital versions). Microsoft Keyboard Layout Creator only allows Ctrl-[key] and Alt-Ctrl-[key] to make alternate characters (not Alt-[key], unfortunately). I had no choice but to use the Ctrl-[key] sequence to produce a lot of keys.
In almost every program (e.g. Firefox) the keyboard has priority over program-defined shortcuts, so that if Ctrl-u is a defined key on my keyboard, the Firefox shortcut with Ctrl-u is frozen. This is what I want in Microsoft Word 2010. But even if I delete the Word 2010 shortcuts in File > Options > Customize Ribbon > Keyboard Shortcuts Customize, Word still has control over the Ctrl-[key] sequence. That is, if I kill the Ctrl-f (find) shortcut in Word, and then press Ctrl-f, nothing will happen: find will not open and my Keyboard assigned Ctrl-f character is not printed.
How can I give priority to my custom-defined characters over Word's Ctrl shortcuts?

Your best bet is probably going to be using AutoHotKey to do your layout mappings. AHK basically monitors the keyboard buffer at the OS level, so it is able to intercept and correct keystrokes before the other programs can react to them. I can confirm that Ctrl+F in AHK does overwrite the keyboard shortcuts in Word 2010.
Some sample AHK code:
^f::Send {U+00C6} ;Ctrl+F sends Æ
!f::Send {U+00C7} ;Alt+F sends Ç
!^f::Send {U+00E8} ;Ctrl+Alt+F sends è
!^+f::Send {U+00C8} ;Ctrl+Alt+Shift+F sends È
^ intercepts a Ctrl keystroke, ! intercepts Alt, and + intercepts Shift, and they can be combined. The {U+xxxx} corresponds to the Unicode number for the given character.
Using this method allows you to keep your keyboard mapping in a simple txt file (easy to backup or transfer to another computer). It also overrides shortcuts in all programs, so you won't have to re-adjust the shortcuts for each new program you use.

Related

Netbeans keyboard shortcuts that do not work with a non-English keyboard layout

I believe this problem has been present for a few years in Netbeans, in different non-English keyboard layouts (see for example Shortcuts in NetBeans don't work).
Premises:
I am using Netbeans 7.3.1, and coding in Java
I use a non-US keyboard layout (Swedish), and Netbeans picks up all the Swedish keys correctly when typing them in the code window.
The problem:
The keyboard shortcuts that use keys that are mapped the same in Swedish and English layout (normal letters for example) work fine, but the keyboard shortcuts that use keys that are mapped differently behave inconsistently.
Example:
Toggle comment (Ctrl+Slash). Slash is Shift+7 in Swedish layout, Ctrl+Shift+7 brings up project properties. Slash in US layout is the key left of right shift, labeled - in Swedish layout. If I press that, Netbeans recognizes this as - and performs the standard behavior for Ctrl+- (a code fold).
Complete line (Ctrl+Shift+;). The key labeled ; in Swedish layout has < in US. This combo brings upp the bookmarks tab. The key labeled ; in US layout has a Swedish letter, this combo does nothing.
I have seen questions by people in different languages asking about one specific shortcut or another not working, and the answer is usually to edit the Netbeans keymap, I wanted to connect a few more dots. Does anybody have further experience or suggestions?
Another shortcut appearing on the keyboard shortcuts card for for 7.3.1 that this affects is Move caret to matching brace (Ctrl+[).
These issues have been around since at least 2008: https://netbeans.org/bugzilla/show_bug.cgi?id=155117. As of last year, the developers seem undecided if it is worthwhile to fix: https://netbeans.org/bugzilla/show_bug.cgi?id=227247
However -
Toggle comment has an alternative shortcut - Ctrl+Shift+C - originally aimed at German keyboards, but which should work for all remotely mainstream layouts since it uses no special key.
Move caret to matching brace apparently has the alternative Ctrl+^ aimed at French layout, but does not work in Swedish for example.
Complete line has no alternative I could find.
Conclusion
Personally I will be using Ctrl+Shift+C for comments, and entering my own alternative for Complete line in Options > Keymap. Move caret to matching brace / bracket, though named on the shortcuts card, does not show up as a reassignable here as far as I can see.
I had this problem too and it had a simple solution and the solution was the font change.
In Netbeans (tool-option-font&زcolor-font). I changed my default font.

How to stop automattically typing special characters when using IDEs/Editors like NetBeans, CodeBlock?

I have a problem when using editors (like NetBeans/CodeBlock) in windows 7.
E.g.: If I start to initialize a text using "(Double/single Quotation) and text is starting with a it will give äaaa instead of "aaaa" (this web editor also the same for my PC)
How can I stop this occurrences ?
Sounds like you are using the US-International keyboard layout.
Check the keyboard layout icon in the system tray when you have the misbehaving application focused; you can change the layout from here, or by pressing a key shortcut. (Maybe you're doing that by accident? You can turn the shortcut off, or remove the unwanted layout completely, from Control Panel → Region and Language → Keyboards and Languages → Change keyboards.)

Making emacs keyboard shortcuts like windows

i spent a lot of time and i am super productive makimg my muscle memory work well navigating text files on windows. Now that i am on emacs, I see my productivity drop severely.
for example, in Visual Studio to move to the next word you type Ctrl + right arrow, and to the prev Ctrl + left arrow. I both think that this is more natural than M-b and M-f and it's easier because it's what other systems use (think, word docs, or text boxes when typing an email or a Stack question).
Is there a simple way to configure the emacs keyboard shortcuts to map to the ones from other systems?

Emacs keyboard changed

Several times now while programming in Emacs my keyboard has started to write Greek letters into the buffer. I assumed that I'd pressed some key combination but after searching I've yet to figure out what it is and my only solution right now is to restart Emacs. So what am I doing and how do I fix it?
Try to analyse what you've pressed.
M-x list-command-history shows command history
C-h l runs the command view-lossage which displays last 300 input keystrokes
I'm going out on a limb.
You're working on a windows computer that has multiple input languages configured (including greek). It also has the default keyboard shortcut to switch between them enabled (left alt+shift is the default, and if you have multiple inputs set up, it is on by default).
Some emacs shortcuts require an alt-shift combo, and depending on the order you press them, you get or don't get windows intercepting it for the IME switch.
Possible solutions include:
remove the greek IME
disable the windows shortcut to switch IMEs
change said shortcut
I typically want multiple IMEs on my systems, like that I can switch IMEs quickly, and don't want to mess with default shortcuts, so I ended up getting used to always pressing shift then alt when doing alt-shift combos in emacs.

Eclipse keyboard shortcuts with Dvorak

I use Eclipse with Dvorak-QWERTY Commands (a Mac option). I am running OS 10.6. But when I press the command key, it does not revert back to the QWERTY keyboard but instead stays as Dvorak. This makes keyboard shortcuts a lot harder to use. How can I fix this problem?
If Eclipse (or other program) supports remapping keyboard shortcuts, you can just go to remap the shortcut to the same physical key that originally was in QWERTY while your keyboard is in Dvorak, so it looks like the same shortcut but is actually mapped to a different key.
Otherwise, I'd just take the time to learn the shortcuts in Dvorak. It may be a pain at first but you'll be one more step towards being QWERTY-independent.