• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. Ctrl fails to execute

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 142
  • Views 15787
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Ctrl fails to execute

archive
archive over 18 years ago

I am trying to bind a command to Ctrl but the command does not get called. I can bind this to other DrawThrus but not Ctrl. I see that the binding took when I check with hiGetBindKey. I can see that the ctrl press gets through too as the mouse clicks change to the ctrl bindings. Anyone have an idea why this would not take? Thanks


Originally posted in cdnusers.org by steven.labarre
  • Cancel
  • archive
    archive over 18 years ago

    the post formatted the "<" and ">" out, it should be "Ctrl\"

    I am trying to bind a command to Ctrl\ but the command does not get called. I can bind this to other DrawThrus but not Ctrl\. I see that the binding took when I check with hiGetBindKey. I can see that the ctrl press gets through too as the mouse clicks change to the ctrl bindings. Anyone have an idea why this would not take? Thanks


    Originally posted in cdnusers.org by steven.labarre
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    try again......

    the post formatted the "<" and ">" out, it should be "Ctrl\DrawThru2"

    I am trying to bind a command to Ctrl\ DrawThru2but the command does not get called. I can bind this to other DrawThrus but not Ctrl\DrawThru2. I see that the binding took when I check with hiGetBindKey. I can see that the ctrl press gets through too as the mouse clicks change to the ctrl bindings. Anyone have an idea why this would not take? Thanks


    Originally posted in cdnusers.org by steven.labarre
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    This is sourcelink solution 11249750 - if you can access sourcelink.cadence.com take a look there.

    Essentially it's a bug, and you need to also define the bindkey for Ctrl Btn2Down - can be a dummy SKILL expression that gets evaluated (e.g. "t").

    The same thing happens with shift modifiers, and in fact happens for all mouse drawthrus (1,2,3) - but you don't normally notice it for the other two, because they usually have the BtnXDown bindkeys defined.

    It's fixed in IC610 - there will not be a need to define the Btn2Down binding with the same modifier then.

    Regards,

    Andrew.


    Originally posted in cdnusers.org by adbeckett
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    By the way, is there a way to bind the mouse wheel in IC5.1 ? I've been through the documentation without being able to find it.
    And I would like to differentiate scroll up or down.

    Thanks for any workaround.
    Regards


    Originally posted in cdnusers.org by ebecheto
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Yes, this is done with Btn4Down and Btn5Down. For example:


    ; mouse scroll wheel default bindings to zoom
    hiSetBindKey("Schematics" "None" "hiZoomInAtMouse()")
    hiSetBindKey("Schematics" "None" "hiZoomOutAtMouse()")


    Regards,

    Andrew.


    Originally posted in cdnusers.org by adbeckett
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    I hit the same problem. The angle brackets went missing. The first bindkey should have been

    None left-angle-bracket Btn4Down right-angle-bracket

    and the second should have been:

    None left-angle-bracket Btn5Down right-angle-bracket

    Regards,

    Andrew.


    Originally posted in cdnusers.org by adbeckett
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    thx, it is indeed not in the documentation, but it works :

    ;; mouse scroll wheel default bindings to zoom
    hiSetBindKey( "Schematics" "Ctrl" "hiZoomInAtMouse()")
    hiSetBindKey( "Schematics" "Ctrl" "hiZoomOutAtMouse()")

    However It caught the mousewheel but i got in response :
    *Error* eval: undefined function - hiZoomOutAtMouse

    Well I can bind it to another function, but as you've foreseen my whish I would prefer a zoom at mouse point rather than a zoom at the centre fo the window.

    Do you know were "hiZoomOutAtMouse" function is defined ? I must have a library missing from my install or something ... ?

    thanks anyway.
    Regards


    Originally posted in cdnusers.org by ebecheto
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    This function was added back in 2004 - in IC5141 USR1.

    You must be using an older version than that?

    Regards,

    Andrew.


    Originally posted in cdnusers.org by adbeckett
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    I use this and it works very well. However, since the mouse wheel can move pretty fast, it is often received as a double mouse click by Cadence. To get the bindkey to work consistently, you'll want to define the double click setting as well. For me, I use Shift and the mouse wheel, so here are the bindkeys I set (surround all the Btn4Down keywords with angle brackets and no space after the Shift):

    hiSetBindKey("Layout" "Shift Btn4Down" "hiZoomInAtMouse()")
    hiSetBindKey("Layout" "Shift Btn4Down(2)" "hiZoomInAtMouse()")
    hiSetBindKey("Layout" "Shift Btn4Down EF" "hiZoomInAtMouse()")
    hiSetBindKey("Layout" "Shift Btn4Down(2) EF" "hiZoomInAtMouse()")


    Originally posted in cdnusers.org by dmay
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information