Code Monkey home page Code Monkey logo

Comments (6)

zivkan avatar zivkan commented on June 7, 2024 1

so why between the 2 Alt keys.

Just a guess, but this is a thing in several languages: https://en.wikipedia.org/wiki/AltGr_key

from vsextensibility.

RyanToth3 avatar RyanToth3 commented on June 7, 2024

Thank you for the feedback!

Let me reiterate your points to make sure that I understand them correctly:

  1. VS does not differentiate between the Left Alt and Right Alt keys.

This isn't the case. Visual Studio only allows you to execute a command using the Left Alt. It has been this way since I believe dev15 but I could be wrong about when exactly that fix was implemented. Although VSCT allows you simply specify Alt for a key binding, under the hood only Left Alt can actually be used to execute the key binding. We designed the new API to be more clear about this fact. Originally, Visual Studio did allow either Alt to be used which is why VSCT simply specifies Alt.

  1. The first/only shortcut key must have a modifier of Alt and/or Control. Shift may be optionally added - it cannot be the only modifier. This is also true for the second modifier key. The first modifier key also cannot be None.

Great catch! I'll make sure to update our APIs to reflect that.

  1. Key does not define the 0-9 keys (on the standard keyboard, not the NumPad). These are all allowed by VS.

Another great catch, I'll make sure to add those.

from vsextensibility.

LeeMSilver avatar LeeMSilver commented on June 7, 2024

from vsextensibility.

LeeMSilver avatar LeeMSilver commented on June 7, 2024

First, I mis-wrote what modifiers are allowed for second (optional) key -- the second key can have a stand-alone Shift-key.

LeftALT: I know that I have been using Right Alt since 2010. Almost all the 80+ commands in my extension are activated w/ plain Alt.
I believe there are 2 reasons to keep Right Alt - even though it can be remapped to Left Alt (which I'm sure 1) many don't know how to do, and 2) another application may use Right Alt.

  1. Left-handed coders, like myself, use the mouse/pointing device with their left-hand making that hand inconvenient for the Alt and Ctrl kwys- that leaves the Right Alt (or Right Ctrl) as the most convenient key for for entering a shortcut.
  2. Much less important, but consistency. You don't differentiate between Left Ctrl and Right Ctrl - so why between the 2 Alt keys.

--
Lee

from vsextensibility.

RyanToth3 avatar RyanToth3 commented on June 7, 2024

so why between the 2 Alt keys.

Just a guess, but this is a thing in several languages: https://en.wikipedia.org/wiki/AltGr_key

Yes, Right Alt being mapped to AltGr in certain keyboard layouts is exactly why we don't allow Right Alt to be used in shortcuts. We've had issues in the past with keyboard shortcuts swallowing keyboard inputs that should result in a character being written to the editor when RIght Alt was allowed.

Remapping Right Alt to Left Alt on your keyboard sounds like a great work around for this limitation.

from vsextensibility.

LeeMSilver avatar LeeMSilver commented on June 7, 2024

Ryan/Zivkan

OK. I understand the rationale behind LeftAlt.

I assume at some point in the future VS will dis-allow the RightAlt button for specifying Modifiers (it currently allows it). I sincerely hope that sometime before this happens all VS users are informed so they are not suddenly confused why when they press the RightAlt key their shortcut is not invoked.

from vsextensibility.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.