1515LAYOUT_PRESETS = [
1616 {
1717 'hotkey' : 'win+num5' ,
18+ 'hotkeys' : ['win+num5' , 'alt+ctrl+shift+I' ],
1819 'landscape' : [((1 - v ) / 2 , 0.00 , v , 1.00 ) for v in (1.00 , 0.50 , 0.34 ,)],
1920 'portrait' : [(0.00 , (1 - v ) / 2 , 1.00 , v ) for v in (1.00 , 0.50 ,)]
2021 }, {
2122 'hotkey' : 'win+num2' ,
23+ 'hotkeys' : ['win+num2' , 'alt+ctrl+shift+K' ],
2224 'landscape' : [((1 - v ) / 2 , 0.50 , v , 0.50 ) for v in (1.00 , 0.50 , 0.34 ,)],
2325 'portrait' : [(0.00 , 1 - v , 1.00 , v ) for v in (0.75 , 0.50 , 0.25 ,)]
2426 }, {
2527 'hotkey' : 'win+num8' ,
28+ 'hotkeys' : ['win+num8' , 'alt+ctrl+shift+8' ],
2629 'landscape' : [((1 - v ) / 2 , 0.00 , v , 0.50 ) for v in (1.00 , 0.50 , 0.34 ,)],
2730 'portrait' : [(0.00 , 0.00 , 1.00 , v ) for v in (0.75 , 0.50 , 0.25 ,)]
2831 }, {
2932 'hotkey' : 'win+num4' ,
33+ 'hotkeys' : ['win+num4' , 'alt+ctrl+shift+U' ],
3034 'landscape' : [(0.00 , 0.00 , v , 1.00 ) for v in (0.67 , 0.50 , 0.33 ,)],
3135 'portrait' : [(0.00 , (1 - v ) / 2 , 0.50 , v ) for v in (1.00 , 0.50 ,)]
3236 }, {
3337 'hotkey' : 'win+num6' ,
38+ 'hotkeys' : ['win+num6' , 'alt+ctrl+shift+O' ],
3439 'landscape' : [(1 - v , 0.00 , v , 1.00 ) for v in (0.67 , 0.50 , 0.33 ,)],
3540 'portrait' : [(0.50 , (1 - v ) / 2 , 0.50 , v ) for v in (1.00 , 0.50 ,)]
3641 }, {
3742 'hotkey' : 'win+num1' ,
43+ 'hotkeys' : ['win+num1' , 'alt+ctrl+shift+J' ],
3844 'landscape' : [(0.00 , 0.50 , v , 0.50 ) for v in (0.67 , 0.50 , 0.33 ,)],
3945 'portrait' : [(0.00 , 1 - v , 0.50 , v ) for v in (0.75 , 0.50 , 0.25 ,)]
4046 }, {
4147 'hotkey' : 'win+num3' ,
48+ 'hotkeys' : ['win+num3' , 'alt+ctrl+shift+L' ],
4249 'landscape' : [(1 - v , 0.50 , v , 0.50 ) for v in (0.67 , 0.50 , 0.33 ,)],
4350 'portrait' : [(0.50 , 1 - v , 0.50 , v ) for v in (0.75 , 0.50 , 0.25 ,)]
4451 }, {
4552 'hotkey' : 'win+num7' ,
53+ 'hotkeys' : ['win+num7' , 'alt+ctrl+shift+7' ],
4654 'landscape' : [(0.00 , 0.00 , v , 0.50 ) for v in (0.67 , 0.50 , 0.33 ,)],
4755 'portrait' : [(0.00 , 0.00 , 0.50 , v ) for v in (0.75 , 0.50 , 0.25 ,)]
4856 }, {
4957 'hotkey' : 'win+num9' ,
58+ 'hotkeys' : ['win+num9' , 'alt+ctrl+shift+9' ],
5059 'landscape' : [(1 - v , 0.00 , v , 0.50 ) for v in (0.67 , 0.50 , 0.33 ,)],
5160 'portrait' : [(0.50 , 0.00 , 0.50 , v ) for v in (0.75 , 0.50 , 0.25 ,)]
5261 },
@@ -63,23 +72,27 @@ def operate_or(values):
6372def organize_presets (presets ):
6473 modifiers = sorted (['alt' , 'ctrl' , 'shift' , 'windows' ])
6574 for i in range (len (presets ) - 1 , - 1 , - 1 ):
66- keys = presets [i ]['hotkey' ].split ('+' )
67- mods = [v for v in modifiers if v in keys ]
68- base = [v for v in keys if v and v not in modifiers ]
69- presets [i ]['hotkey' ] = '+' .join (mods + base )
70-
71- keys = presets [i ]['hotkey' ].split ('+' )
72- codes = [KEYMAP .get (key ) for key in keys ]
73- if None in codes :
74- presets .pop (i )
75- continue
76-
77- codes = [v for v in codes if v is not None ]
78-
79- presets [i ]['codes' ] = (operate_or (codes [:- 1 ]), codes [- 1 ],)
80- m = hashlib .new ('md5' )
81- m .update ('' .join ([str (v ) for v in presets [i ]['codes' ]]).encode ('utf-8' ))
82- presets [i ]['event_id' ] = int (m .hexdigest ()[:5 ], 16 )
75+ presets [i ]['codes' ] = []
76+ presets [i ]['event_ids' ] = []
77+ for ii in range (len (presets [i ]['hotkeys' ])):
78+
79+ keys = presets [i ]['hotkeys' ][ii ].split ('+' )
80+ mods = [v for v in modifiers if v in keys ]
81+ base = [v for v in keys if v and v not in modifiers ]
82+ presets [i ]['hotkeys' ][ii ] = '+' .join (mods + base )
83+
84+ keys = presets [i ]['hotkeys' ][ii ].split ('+' )
85+ codes = [KEYMAP .get (key ) for key in keys ]
86+ if None in codes :
87+ presets .pop (i )
88+ continue
89+
90+ codes = [v for v in codes if v is not None ]
91+
92+ presets [i ]['codes' ] += [(operate_or (codes [:- 1 ]), codes [- 1 ],)]
93+ m = hashlib .new ('md5' )
94+ m .update ('' .join ([str (v ) for v in presets [i ]['codes' ][ii ]]).encode ('utf-8' ))
95+ presets [i ]['event_ids' ] += [int (m .hexdigest ()[:5 ], 16 )]
8396
8497 return presets
8598
0 commit comments