• 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. Cannot overwrite default layout bindkey in ICADV

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 144
  • Views 13957
  • 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

Cannot overwrite default layout bindkey in ICADV

ddsab
ddsab over 7 years ago

Hello, 

I am attempting to overwrite a default layout bindkey, but the desired command will not remain in the command field once entered.  Using ICADV12.3 I have tried updating my bindkeys in the following ways:

1) In my .cdsinit I load a .bindkeys file via: load(".bindkeys")

In my .bindkeys file I wish to overwrite the default bindkeys for Ctrl and Shift<Key>H with the following commands:

hiSetBindKeys( "Layout" list(

     list("Ctrl<Key>H" "getCurrentWindow()->segSnapMode = \"anyAngle\" getCurrentWindow()->snapMode = \"anyAngle\"")
     list("Shift<Key>H" "getCurrentWindow()->segSnapMode = \"orthogonal\" getCurrentWindow()->snapMode = \"orthogonal\"")

))

2) From the CIW I navigate to Options>Bindkeys.  In the Layout tab I navigate to the command for bindkey Ctrl<Key>H and replace the contents of the command field with:

     getCurrentWindow()->segSnapMode = "anyAngle" getCurrentWindow()->snapMode = "anyAngle"

The bindkey is successfully updated for the 'orthogonal' command and works as intended, but is unsuccessful for the 'any angle' command.  In either case, the default bindkey for Ctrl<Key>H [geDSAFreeze(hiGetCurrentWindow()  hiGetPoint(hiGetCurrentWindow()))] is kept.  There are also no warnings or errors reported in the CIW when I load(".bindkeys").

Any help would be greatly appreciated.

Cheers, 

Daron

  • Cancel
  • Quek
    Quek over 7 years ago

    Hi Daron

    Perhaps it might be better to use the following SKILL script to toggle between orthogonal/anyAngle modes:

    procedure( CCStoggleSnapModes()
       let( (win)
          win=hiGetCurrentWindow()
          if( win~>segSnapMode=="anyAngle" then
             win~>segSnapMode="orthogonal"
             win~>snapMode="orthogonal"
          else
             win~>segSnapMode="anyAngle"
             win~>snapMode="anyAngle"
          ) ;if
       ) ;let
    ) ;procedure

    hiSetBindKey("Layout "Shift<Key>H" "CCStoggleSnapModes()")


    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ddsab
    ddsab over 7 years ago in reply to Quek

    Quek,

    Thanks for the reply!  I ended up just assigning the 'anyAngle' command to another bindkey, but this may be a more elegant solution.  Though, it still wont explain why I cannot assign any command to the Ctrl<Key>H bindkey.  

    Cheers,

    Daron

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 7 years ago in reply to ddsab

    Hi Daron  

    You should use small letter "h" and not big "H" in hiSetBindKeys cmd:  

    hiSetBindKeys( "Layout" list(  
       list("Ctrl<Key>h" "getCurrentWindow()->segSnapMode = \"anyAngle\" getCurrentWindow()->snapMode = \"anyAngle\"")  
       list("Shift<Key>h" "getCurrentWindow()->segSnapMode = \"orthogonal\" getCurrentWindow()->snapMode = \"orthogonal\"")
    ))


    Best regards
    Quek

    • 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