MulitMonitor bug
Quick and dirty fix... Script now looks for an external display before trying to rotate the screen. If one is present it will automatically deactivate autorotation of the internal screen.
This commit is contained in:
		
							parent
							
								
									01f4afddcf
								
							
						
					
					
						commit
						bd6eaf1fb0
					
				|  | @ -27,6 +27,13 @@ def refreshtouch(): | |||
|     os.system('xinput disable "NTRG0001:01 1B96:1B05"') | ||||
|     os.system('xinput enable "NTRG0001:01 1B96:1B05"') | ||||
| 
 | ||||
| def checkdisplays(): | ||||
|     check_displays = "xrandr | grep -w 'connected'" | ||||
|     str_displays = str(subprocess.check_output(check_displays, shell=True).lower().rstrip()) | ||||
|     list_displays = str_displays.splitlines() | ||||
|     int_displays = len(list_displays) | ||||
|     return int_displays | ||||
| 
 | ||||
| #PARAMETERS | ||||
| count = 0 | ||||
| path = os.path.abspath(os.path.dirname(os.path.abspath(__file__))) | ||||
|  | @ -57,39 +64,46 @@ firstrun = True | |||
| with open(dpath + 'in_accel_scale') as f: | ||||
|     scale = float(f.readline()) | ||||
| while True: | ||||
|     multimonitor = False | ||||
|     int_displays = checkdisplays() | ||||
|     if int_displays > 1: | ||||
|         multimonitor = True | ||||
|     time.sleep(1.0/freq) | ||||
|     previous_state = current_state | ||||
|     status = readFile(os.path.join(path, 'status.txt')) | ||||
|     if str(status[0]) == "on": | ||||
|     if str(status[0]) == "on" and multimonitor == False: | ||||
|         with open(dpath + 'in_accel_x_raw', 'r') as fx: | ||||
|             with open(dpath + 'in_accel_y_raw', 'r') as fy: | ||||
|                 with open(dpath + 'in_accel_z_raw', 'r') as fz: | ||||
|                     thex = float(fx.readline()) | ||||
|                     they = float(fy.readline()) | ||||
|                     thez = float(fz.readline()) | ||||
|                     if (thex >= 65000 or thex <=650): | ||||
|                         if (they <= 65000 and they >= 64000): | ||||
|                             os.system(normal) | ||||
|                             current_state = 0 | ||||
|                         if (they >= 650 and they <= 1100): | ||||
|                             os.system(inverted) | ||||
|                             current_state = 1 | ||||
|                     if (thex <= 64999 and thex >= 650): | ||||
|                         if (thex >= 800 and thex <= 1000): | ||||
|                             os.system(right) | ||||
|                             current_state = 2 | ||||
|                         if (thex >= 64500 and thex <=64700): | ||||
|                             os.system(left) | ||||
|                             current_state = 3 | ||||
|                     if checkdisplays() == 1: | ||||
|                         if (thex >= 65000 or thex <=650): | ||||
|                             if (they <= 65000 and they >= 64000): | ||||
|                                 os.system(normal) | ||||
|                                 current_state = 0 | ||||
|                             if (they >= 650 and they <= 1100): | ||||
|                                 os.system(inverted) | ||||
|                                 current_state = 1 | ||||
|                         if (thex <= 64999 and thex >= 650): | ||||
|                             if (thex >= 800 and thex <= 1000): | ||||
|                                 os.system(right) | ||||
|                                 current_state = 2 | ||||
|                             if (thex >= 64500 and thex <=64700): | ||||
|                                 os.system(left) | ||||
|                                 current_state = 3 | ||||
| 
 | ||||
|         os.system('clear') | ||||
|         print("ExtDi: " + str(multimonitor)) | ||||
|         print("A-ROT: " + status[0]) | ||||
|         print("    x: " + str(thex)) | ||||
|         print("    y: " + str(they)) | ||||
|         print("    z: " + str(thez)) | ||||
|         print("  POS: " + state_dict[current_state]) | ||||
|     if status[0] == "off": | ||||
|     if status[0] == "off" or multimonitor == True: | ||||
|         os.system('clear') | ||||
|         print("ExtDi: " + str(multimonitor)) | ||||
|         print("A-ROT: " + status[0]) | ||||
|         print("    x: " + status[0]) | ||||
|         print("    y: " + status[0]) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue