Samurai Journal of Chemistry

科学に関わる事を議論していく(コメントによる議論大歓迎)

ChemDraw20.1でHotkeyをマニアックに魔改造してみた

<お知らせ>

当ブログのコメント方式は承認制になっていましたが、もっとfeel freeにコメントしてほしいので、誰でもログインなしでコメント出来るように変更しました。今後とも当ブログで活発なご討論をどうぞよろしくおねがいします(2021/09/15)。

<以下本編>

皆さんはChemDrawのHotkeyというのをご存知でしょうか。

 

実装されて長いのでもう知っている人も多いと思いますが

今回はそれを魔改造して使い勝手を上げてみよう

という企画ですw

ChemDrawの使い方に関する過去記事はこちら

 

デフォルトのHotkeyを知る

ChemDrawタブのHelpからShortcut and Hotkeyを開くと、よく使うショートカットキーのクイックガイドが表示されます。

f:id:YMac:20210911210125p:plain

Fig. 1  Default Shortcut and Hotkey

左手を動かさないHotkey配置

デフォルトのHotkey配置は個人的にイメージするキーと合わないことも多々あったため、魔改造しちゃいました。それがこちら

f:id:YMac:20210911210249p:plain

Fig. 2  原子上でのHotkey

 

f:id:YMac:20210911210334p:plain

Fig. 3  構造にカーソルを合わせていない時のHotkey

基本コンセプトは、左手をブラインドタッチのデフォルトポジションから動かさずに主要キーすべてを押すことができる配置です。

・Point 1. イメージとキーを合わせる

例えば、defaultのatom hotkeyではシクロプロパンが[v]、シクロブタンが[u]、シクロペンタンが[7]ですが、シンプルに環の員数に合わせて[3], [4], [5]にしたくありませんか?
ただ、3員環と4員環はそこまで多用しないので、shift + [3] or [4]としてあります。
shiftなしのときは、楔(up)と楔(down)が返されるようになっています(案外便利)。
このキーはもともと45に割り振られていたんですが、5を5員環にしたかったので左にずらしました。

 

・Point 2. 余計なキーを削除してcustomキーを割り当てる

デフォルトで設定されているキーの中で、個人的にあまり使わないというキーも結構多いと思います。

そこで、shift + [左手で届く範囲のキー]の多くをカスタムキーに変えてしまいます。
具体的には、私は以下のようにキー設定しています。
<(*)は元々の設定だが、このキー配置において重要なキー>

[M] = [CO2Me]
[w] = [N](*)  [W] = [NPhth]
[q] = [O](*)  [Q] = [OMe]
[A] = [OAc]
[Z] = [OBz]
[X] = [OTBS]
[C] = [OBn]
[V] = [OPiv]
[D] = [OTIPS]
[E] = [N3]
[F] = [NHFmoc]
[y] = [NHBoc]
[Y] = [NHCbz]
[G] = [NBoc]
[H] = [NCbz]

 

このように左手で届く範囲内によく使う官能基ショートカットを入れてしまい、慣れるとものすごく書くのが速くなります。カスタム部分は個人の好みに合わせて色々変えてみると良いと思います。

 

Point 3. 単結合を伸ばすキー[1]と[0]をどうにかする

原子上にホットスポット(カーソルを合わせると出るあの青い丸)を持ってきて[1]を押すと、緑丸がある方向に単結合が伸びます。一方、[0]を押すと緑丸とは逆方向に単結合が伸びます。これも知らなきゃ知らない便利機能ですが、左手でこの操作がしづらいのが難点。

このカスタムホットキーの最も重要なことは、

「左手にキーボードを右手にマウス(トラックパッド)を」

を貫く事なので、この最重要キーが左手で操作できないことは致命的な問題です。

そこで、Fig 2のように、[1]を[v]に、[0]を[g]に置き換えてしまっています
理由は、vgで容易に連想できる原子や官能基がないと思った事と、vgは共に左手人差し指で押せることからこの配置にしています。

 

Abbreviation(Nickname)をカスタマイズする

ChemDrawのカスタマイズをする上でもう一つ重要なのが略語のカスタマイズです。例えば、トリクロロアセチル基をTCAと表記したいと思ったとき、デフォルトの略語に登録されていないため、原子上にTCAと入力してもDisplay Warningが出て構造を認識できません。

そこで、リボンのStructure内にあるDefine Nicknameという機能を使います。

まず登録したい構造をChemDrawで描画し、末端の原子上でピリオド[.]を入力することで下図のような<1>というマークに変換します。これはAny Atomと同様の意味になります。

Define Nicknameからお好みの略語を登録しておけば、その略語と構造がリンクされて認識されるようになります。例えばこうすることで、略語が入っててもちゃんとMWやm/zの計算値が出てくれるので便利です。

f:id:YMac:20210911214710p:plain

Nicknameのカスタマイズ

 

この記事の魔改造方法が気に入ったという方は、以下のテキストをHotkeyにコピーペーストすることで使えるようになります。自分なりにカスタマイズして使って下さい。

 

自分のカスタマイズキーでめざせChemDrawマスター!!

 

Custom Hotkey SJC Style
  1. <Objects>
  2.  
  3.     <Object type="Atom">
  4.  
  5.         <Commands>
  6.  
  7.             <Command id="LABELTEXT" description="Sets the Label for the Atoms text"/>
  8.             <Command id="SPROUT" description="Addition of Bonds to an Atom"/>
  9.             <Command id="CHARGE" description="Changes the charge of an Atom"/>
  10.             <Command id="FREE_SITE" description="Increment/Decrement Free Sites of an Atom"/>
  11.             <Command id="UPTO_SITE" description="Increment/Decrement the UpTo number of substituents of an Atom"/>
  12.             <Command id="EXACT_SITE" description="Increment/Decrement the number of substituents of an Atom"/>
  13.             <Command id="ATOMNUMBER" description="Show/Hide the Atom Numbers"/>
  14.             <Command id="ATTACHMENTPOINT" description="Sets the Value of the Attachment Point"/>
  15.  
  16.         </Commands>
  17.  
  18.         <Hotkeys>
  19.  
  20.             <Hotkey key="A" command="LABELTEXT" value="OAc" description="Atom Labeling"/>
  21.             <Hotkey key="b" command="LABELTEXT" value="Br" description="Atom Labeling"/>
  22.             <Hotkey key="B" command="LABELTEXT" value="B" description="Atom Labeling"/>
  23.             <Hotkey key="c" command="LABELTEXT" value="C" description="Atom Labeling"/>
  24.             <Hotkey key="C" command="LABELTEXT" value="OBn" description="Atom Labeling"/>
  25.             <Hotkey key="d" command="LABELTEXT" value="D" description="Atom Labeling"/>
  26.             <Hotkey key="D" command="LABELTEXT" value="OTIPS" description="Atom Labeling"/>
  27.             <Hotkey key="e" command="LABELTEXT" value="Et" description="Atom Labeling"/>
  28.             <Hotkey key="E" command="LABELTEXT" value="N3" description="Atom Labeling"/>
  29.             <Hotkey key="f" command="LABELTEXT" value="F" description="Atom Labeling"/>
  30.             <Hotkey key="F" command="LABELTEXT" value="NHFmoc" description="Atom Labeling"/>
  31.             <Hotkey key="G" command="LABELTEXT" value="NBoc" description="Atom Labeling"/>
  32.             <Hotkey key="h" command="LABELTEXT" value="H" description="Atom Labeling"/>
  33.             <Hotkey key="H" command="LABELTEXT" value="NCbz" description="Atom Labeling"/>
  34.             <Hotkey key="i" command="LABELTEXT" value="I" description="Atom Labeling"/>
  35.             <Hotkey key="K" command="LABELTEXT" value="K" description="Atom Labeling"/>
  36.             <Hotkey key="l" command="LABELTEXT" value="Cl" description="Atom Labeling"/>
  37.             <Hotkey key="L" command="LABELTEXT" value="Li" description="Atom Labeling"/>
  38.             <Hotkey key="m" command="LABELTEXT" value="Me" description="Atom Labeling"/>
  39.             <Hotkey key="M" command="LABELTEXT" value="CO2Me" description="Atom Labeling"/>
  40.             <Hotkey key="n" command="LABELTEXT" value="N" description="Atom Labeling"/>
  41.             <Hotkey key="w" command="LABELTEXT" value="N" description="Atom Labeling"/>
  42.             <Hotkey key="N" command="LABELTEXT" value="NO2" description="Atom Labeling"/>
  43.             <Hotkey key="o" command="LABELTEXT" value="O" description="Atom Labeling"/>
  44.             <Hotkey key="O" command="LABELTEXT" value="CO2H" description="Atom Labeling"/>
  45.             <Hotkey key="q" command="LABELTEXT" value="O" description="Atom Labeling"/>
  46.             <Hotkey key="Q" command="LABELTEXT" value="OMe" description="Atom Labeling"/>
  47.             <Hotkey key="p" command="LABELTEXT" value="P" description="Atom Labeling"/>
  48.             <Hotkey key="P" command="LABELTEXT" value="Ph" description="Atom Labeling"/>
  49.             <Hotkey key="r" command="LABELTEXT" value="R" description="Atom Labeling"/>
  50.             <Hotkey key="R" command="LABELTEXT" value="Ar" description="Atom Labeling"/>
  51.             <Hotkey key="s" command="LABELTEXT" value="S" description="Atom Labeling"/>
  52.             <Hotkey key="S" command="LABELTEXT" value="Si" description="Atom Labeling"/>
  53.             <Hotkey key="u" command="LABELTEXT" value="t-Bu" description="Atom Labeling"/>
  54.             <Hotkey key="V" command="LABELTEXT" value="OPiv" description="Atom Labeling"/>
  55.             <Hotkey key="W" command="LABELTEXT" value="NPhth" description="Atom Labeling"/>
  56.             <Hotkey key="x" command="LABELTEXT" value="X" description="Atom Labeling"/>
  57.             <Hotkey key="X" command="LABELTEXT" value="OTBS" description="Atom Labeling"/>
  58.             <Hotkey key="y" command="LABELTEXT" value="NHBoc" description="Atom Labeling"/>
  59.             <Hotkey key="Y" command="LABELTEXT" value="NHCbz" description="Atom Labeling"/>
  60.             <Hotkey key="Z" command="LABELTEXT" value="OBz" description="Atom Labeling"/>
  61.             <Hotkey key="!" command="LABELTEXT" value="?" description="Atom Labeling"/>
  62.  
  63.             <Hotkey key="7" command="SPROUT" value="9" description="Adds a dimethyl"/>
  64.             <Hotkey key="#" command="SPROUT" value="11" description="Adds cyclopropyl"/>
  65.             <Hotkey key="$" command="SPROUT" value="12" description="Adds a cyclobutane"/>
  66.             <Hotkey key="z" command="SPROUT" value="10" description="Adds an alkyne"/>
  67.             <Hotkey key="8" command="SPROUT" value="13" description="Adds a tertiary butyl"/>
  68.             <Hotkey key="%" command="SPROUT" value="8" description="Adds a methylidene"/>
  69.             <Hotkey key="5" command="SPROUT" value="7" description="Adds a cyclopentane"/>
  70.             <Hotkey key="6" command="SPROUT" value="6" description="Adds a cyclohexane"/>
  71.             <Hotkey key="4" command="SPROUT" value="5" description="Adds a chiral down bond"/>
  72.             <Hotkey key="3" command="SPROUT" value="4" description="Adds a chiral up bond"/>
  73.             <Hotkey key="a" command="SPROUT" value="3" description="Adds benzene"/>
  74.             <Hotkey key="2" command="SPROUT" value="2" description="Adds carbonyl"/>
  75.             <Hotkey key="1" command="SPROUT" value="1" description="Adds a bond to the atom in linear mode"/>
  76.             <Hotkey key="0" command="SPROUT" value="0" description="Adds a bond to the atom in cyclic mode"/>
  77.             <Hotkey key="v" command="SPROUT" value="1" description="Adds a bond to the atom in cyclic mode"/>
  78.             <Hotkey key="g" command="SPROUT" value="0" description="Adds a bond to the atom in linear mode"/>
  79.             
  80.             <Hotkey key=">" command="SPROUT" value="?" description="Adds bonds to the atom and new atom labels"/>
  81.  
  82.             <Hotkey key="." command="ATTACHMENTPOINT" value="True" description="Adds an attachment point"/>
  83.             <Hotkey key="&apos;" command="ATOMNUMBER" value="True" description="Shows Atom Numbers"/>
  84.             <Hotkey key="-" command="CHARGE" value="-" description="Decrement the charge of an atom"/>
  85.             <Hotkey key="+" command="CHARGE" value="+" description="Increments the charge of an atom"/>
  86.  
  87.         </Hotkeys>
  88.  
  89.     </Object>
  90.  
  91.     <Object type="Bond">
  92.  
  93.         <Commands>
  94.  
  95.             <Command id="BONDORDER" description="Sets the Bond Order"/>
  96.             <Command id="BONDDISPLAY" description="Sets the Bond Display"/>
  97.             <Command id="BONDPOSITION" description="Sets the Position of Bonds"/>
  98.             <Command id="BONDDOUBLEPOSITION" description="Sets the Alignment for Double Bonds"/>
  99.             <Command id="FUSERING" description="Fuses a ring to a bond"/>
  100.  
  101.         </Commands>
  102.  
  103.         <Hotkeys>
  104.  
  105.             <Hotkey key="f" command="BONDPOSITION" value="FRONT" description="Displays the bond in the front"/>
  106.  
  107.             <Hotkey key="l" command="BONDDOUBLEPOSITION" value="LEFT" description="Align Double Bonds to the Left"/>
  108.             <Hotkey key="r" command="BONDDOUBLEPOSITION" value="RIGHT" description="Align Double Bonds to the Right"/>
  109.             <Hotkey key="mm" command="BONDDOUBLEPOSITION" value="CENTER" description="Align Double Bonds Centered"/>
  110.  
  111.             <Hotkey key="1" command="BONDORDER" value="1" description="Set Bond to Single"/>
  112.             <Hotkey key="2" command="BONDORDER" value="2" description="Set Bond to Double"/>
  113.             <Hotkey key="3" command="BONDORDER" value="3" description="Set Bond to Triple"/>
  114.  
  115.  
  116.             <Hotkey key="f" command="FUSERING" value="3" description="Fuse 3 membered ring"/>
  117.             <Hotkey key="4" command="FUSERING" value="4" description="Fuse 4 membered ring"/>
  118.             <Hotkey key="5" command="FUSERING" value="5" description="Fuse 5 membered ring"/>
  119.             <Hotkey key="6" command="FUSERING" value="6" description="Fuse 6 membered ring"/>
  120.             <Hotkey key="7" command="FUSERING" value="7" description="Fuse 7 membered ring"/>
  121.             <Hotkey key="8" command="FUSERING" value="8" description="Fuse 8 membered ring"/>
  122.             <Hotkey key="9" command="FUSERING" value="9" description="Fuse chair cyclohexane"/>
  123.             <Hotkey key="0" command="FUSERING" value="10" description="Fuse chair cyclohexane"/>
  124.  
  125.             <Hotkey key="a" command="FUSERING" value="2" description="Fuse benzene"/>
  126.             <Hotkey key="z" command="FUSERING" value="1" description="Fuse cyclopentadiene"/>            
  127.  
  128.  
  129.             <Hotkey key="d" command="BONDDISPLAY" value="DASHED" description="Display a Bond as Dashed"/>
  130.             <Hotkey key="H" command="BONDDISPLAY" value="HASHED" description="Display a Bond as Hashed"/>
  131.             <Hotkey key="h" command="BONDDISPLAY" value="HASHEDWEDGED" description="Display a Bond as HashWedged"/>
  132.             <Hotkey key="W" command="BONDDISPLAY" value="HASHEDWEDGED" description="Display a Bond as HashWedged"/>
  133.             <Hotkey key="B" command="BONDDISPLAY" value="DOUBLEBOLD" description="Display a Bond as Bold"/>
  134.             <Hotkey key="b" command="BONDDISPLAY" value="BOLD" description="Display a Bond as Bold"/>
  135.             <Hotkey key="w" command="BONDDISPLAY" value="WEDGED" description="Display a Bond as Wedged"/>
  136.             <Hotkey key="y" command="BONDDISPLAY" value="WAVY" description="Display a Bond as Wavy"/>
  137.  
  138.  
  139.         </Hotkeys>
  140.  
  141.     </Object>
  142.  
  143.     <Object type="Generic">
  144.  
  145.         <Commands>
  146.  
  147.             <Command id="DIALOG" description="Display a Dialog"/>
  148.             <Command id="TOOLMODE" description="Changes the Current Tool"/>
  149.  
  150.         </Commands>
  151.  
  152.         <Hotkeys>
  153.         
  154.             <Hotkey key="X" command="TOOLMODE" value="BENZENE" description="Activates the benzene draw tool"/>
  155.             <Hotkey key="c" command="TOOLMODE" value="CYCLOHEXANE" description="Activates the cyclohexane draw tool"/>
  156.             <Hotkey key="C" command="TOOLMODE" value="CYCLOPENTANE" description="Activates the cyclopentane draw tool"/>
  157.             <Hotkey key="J" command="TOOLMODE" value="CYCLOPENTADIENE" description="Activates the cyclopentadiene draw tool"/>
  158.             <Hotkey key="v" command="TOOLMODE" value="SOLIDBOND" description="Activates the bond draw tool"/>
  159.             <Hotkey key="x" command="TOOLMODE" value="ACYCLICCHAIN" description="Activates the acyclic chain tool"/>
  160.             <Hotkey key="e" command="TOOLMODE" value="ARROW" description="Activates the arrow draw tool"/>
  161.             <Hotkey key="E" command="TOOLMODE" value="CHEMICALSYMBOLS" description="Activates the drawing elements tool"/>
  162.             <Hotkey key="t" command="TOOLMODE" value="TEXT" description="Activates the text tool"/>
  163.             <Hotkey key="k" command="TOOLMODE" value="BRACKET" description="Activates the bracket tool"/>
  164.             <Hotkey key="K" command="TOOLMODE" value="ORBITAL" description="Activates the orbitals tool"/>
  165.             <Hotkey key=" " command="TOOLMODE" value="MARQUEE" description="Activates the Marquee Tool"/>
  166.             <Hotkey key="Y" command="TOOLMODE" value="TLCPLATE" description="Activates the TLC plate tool"/>
  167.             <Hotkey key=";" command="TOOLMODE" value="MASSFRAG" description="Activates the Mass Fragmentation Tool"/>
  168.             <Hotkey key="+" command="TOOLMODE" value="QUERY" description="Activates the Query Tool"/>
  169.  
  170.             <Hotkey key="=" command="DIALOG" value="CHOOSENICKNAME" description="Display a dialog to choose a Nickname"/>
  171.             <Hotkey key="/" command="DIALOG" value="PROPERTIES" description="Displays the Properties Dialog"/>
  172.             <Hotkey key="?" command="DIALOG" value="PROPERTIES" description="Displays the Properties Dialog"/>
  173.  
  174.  
  175.         </Hotkeys>
  176.  
  177.     </Object>