Revit API Forum
Welcome to Autodesk’s Revit API Forums. Share your knowledge, ask questions, and explore popular Revit API topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to Assign KeyBoard Shortcut to external commands

14 REPLIES 14
SOLVED
Reply
Message 1 of 15
jainn
6362 Views, 14 Replies

How to Assign KeyBoard Shortcut to external commands

Hi,

 

How to assign keyboard shortcuts for external commands in the Revit 2015?

 

 

Example:-

 

I have create one external command  to display Element Location.

I want to execute this commend from keyboard shortcut "CP".

 

 

 

Please Suggest.

 

 

Thanks & Regards

Namit Jain

14 REPLIES 14
Message 2 of 15
Anonymous
in reply to: jainn

Its simple.  Just go to Revit Menu and click on options at the bottom right of the popup.  Then click on User Interface tab and then select the Keyboard Shortcuts in the middle of the dialog on the right side.  From there you can find your custom command and assing a shortcut to it.  You can also adjust existing shortcuts and make new shortcuts there for most of the commands in Revit.

 

Good luck,

 

Keith

Message 3 of 15
jainn
in reply to: Anonymous

Dear Keith,

 

Thanks for your reply, but i want to do this programatically.

 

Please suggest

 

Thanks & Regards

Namit Jain

Message 4 of 15
jeremytammik
in reply to: jainn

Dear Namit,

 

Thank you for your query.

 

Here is an old description on how to achieve that back in 2009:

 

http://thebuildingcoder.typepad.com/blog/2009/04/addin-keyboard-shortcut.html

 

Things have changed since then, though.

 

The Revit 2011 API introduced keyboard shortcut support for API buttons:

 

http://thebuildingcoder.typepad.com/blog/2013/02/whats-new-in-the-revit-2011-api.html

 

Keyboard shortcut support for API buttons

 

API buttons found on the Ribbon can be assigned a keyboard shortcut. Buttons created by applications registered using manifest files now use an id based on their application id and button name to provide a unique identifier for the button. The keyboard shortcut will be maintained even if the order of registration of API applications changes.

 

This functionality was overhauled in the Revit 2013 API:

 

http://thebuildingcoder.typepad.com/blog/2013/03/whats-new-in-the-revit-2013-api.html

 

Support for Keyboard Shortcuts and Quick Access Toolbar

 

API commands may now be assigned keyboard shortcuts, and those assignments will be preserved even if add-ins are added, removed or changed in subsequent sessions.

 

API commands may also be moved to the Quick Access Toolbar, and that assignment will also be preserved even if add-ins are added, removed or changed in subsequent sessions.

 

I hope this helps.

 

Please take a look at that and let us know how you can make use of this functionality.

 

Thank you!

 

Best regards,

 

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Message 5 of 15
jeremytammik
in reply to: jeremytammik

The rest is described in the Revit help and Developer Guide:

 

http://help.autodesk.com/view/RVT/2015/ENU/?guid=GUID-39D549F2-75EE-4C06-8B6A-3DADE1FBEF59



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Message 6 of 15
Revitalizer
in reply to: jainn

Hi jainn,

 

you may have a look at this thread:

http://forums.autodesk.com/t5/revit-api/how-to-get-short-key-collection/td-p/5513905

 

You may edit the described XML file, but on your own risk.

 

 

Best regards,

Revitalizer




Rudolf Honke
Software Developer
Mensch und Maschine





Message 7 of 15
jeremytammik
in reply to: Revitalizer

Dear Revitalizer,

 

If you simply edit the XML file, does Revit automatically read in the changes and update the settings accordingly?

 

Or do you have to explicitly import the file to achieve that?

 

Thank you!

 

Cheers,

 

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Message 8 of 15
jeremytammik
in reply to: jeremytammik

Message 9 of 15
Revitalizer
in reply to: jeremytammik

Hi Jeremy,

 

I did just give a hint but didn't test that before.

It's just a thought that came to mind after reading the get-shortcuts-thread.

Since this is the related setter-thread, they belong to each other.

 

I assume that Revit needs to be restarted, but the user who started the thread may test the idea and give an answer.

Problem solved - or even not.

 

 

Best regards,

Rudi




Rudolf Honke
Software Developer
Mensch und Maschine





Message 10 of 15
jeremytammik
in reply to: Revitalizer

Maybe this is a one-way user, as in black hole...

 

Let's wait and see   🙂



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Message 11 of 15
jainn
in reply to: Revitalizer

Hi,

 

Please suggest after edit ShortCutKeys XML file. how to load this file without restating Revit.

 

Thanks & regards

Namit Jain

Message 12 of 15
Revitalizer
in reply to: jainn

Hi jainn,

 

if you save the xml and just start the built-in "edit shortcuts" command, your changes will not be visible in the UI.

But if you restart Revit, changes are recognized.

So no, you must restart Revit in each case.

 

I've tested this by canging the ID_BUTTON_SELECT key from "MD" to "MX".

 

Doing so, you must be absolutely clear that you have to validate your input values since you are bypassing Revit this way.

You would have to check duplicate values, check if keys are reserved ones etc.

 

 

Best Regards,

Revitalizer

 

 




Rudolf Honke
Software Developer
Mensch und Maschine





Message 13 of 15
jainn
in reply to: Revitalizer

HI Revitalizer,

 

Thanks for your Reply.

 

Regards

Namit Jain

Message 14 of 15
JoseFandos
in reply to: Revitalizer

Given that add-ins can and often are started after installation while a Revit session is running, it would be great that the API provided a way to reload the XML so that newly added shortcuts for the add-in's use would be available as soon as the add-in is up and running.

 

Requiring a restart removes the advantage of loading an add-in while a Revit session is running, if keyboard shortcuts are key (no pun intended) to the add-in in question. Wish-list item for the API.

Message 15 of 15
jeremytammik
in reply to: JoseFandos

Dear Namit and Jose,

 

Thank you for your updates and suggestion.

 

I submitted the wish list item CF-3919 [API wish: reload ShortCutKeys XML file after edit without restarting Revit] on your behalf for the functionality you suggest, as this issue requires exploration and possibly a modification to our software. Please make a note of this number for future reference.

 

This issue is important to me. What can I do to help?

 

This issue needs to be assessed by our engineering team, and prioritised against all of the other outstanding change requests. Any information that you can provide to influence this assessment will help. Please provide the following where possible:

 

  • Impact on your application and/or your development.
  • The number of users affected.
  • The potential revenue impact to you.
  • The potential revenue impact to Autodesk.
  • Realistic timescale over which a fix would help you.
  • In the case of a request for a new feature or a feature enhancement, please also provide detailed Use cases for the workflows that this change would address.

 

This information is extremely important. Our engineering team have limited resources, and so must focus their efforts on the highest impact items. We do understand that this will cause you delays and affect your development planning, and we appreciate your cooperation and patience.

 

Best regards,

 

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report