autorotate
This commit is contained in:
		
							parent
							
								
									a566e8d4e4
								
							
						
					
					
						commit
						8d130781f2
					
				|  | @ -0,0 +1,90 @@ | |||
| #!/usr/bin/env python2 | ||||
| import time | ||||
| import os | ||||
| 
 | ||||
| #FUNCTIONS | ||||
| def readFile(path): #self.filename | ||||
|     myDatei = open(path, "r") | ||||
|     myList = [] | ||||
|     #Liste aus Datei erstellen | ||||
|     for Line in myDatei: | ||||
|         Line = Line.rstrip() | ||||
|         #Line = Line.decode('utf8') | ||||
|         myList.append(Line) | ||||
|     myDatei.close() | ||||
|     return(myList) | ||||
| 
 | ||||
| def writeFile(path, myList): #self.filename | ||||
|     myDatei = open(path, "w") | ||||
|     #Liste aus Datei erstelle | ||||
|     myDatei.writelines(myList) | ||||
|     myDatei.close() | ||||
| 
 | ||||
| def refreshtouch(): | ||||
|     os.system('xinput disable "NTRG0001:01 1B96:1B05"') | ||||
|     os.system('xinput enable "NTRG0001:01 1B96:1B05"') | ||||
| 
 | ||||
| #PARAMETERS | ||||
| count = 0 | ||||
| path = os.path.abspath(os.path.dirname(os.path.abspath(__file__))) | ||||
| print (path) | ||||
| 
 | ||||
| devicename = "'NTRG0001:01 1B96:1B05'" | ||||
| penname = "'NTRG0001:01 1B96:1B05 Pen'" | ||||
| freq = 10.0  # frequency to read the accelerometer | ||||
| 
 | ||||
| # Look for accelerometer | ||||
| while count <= 9: | ||||
|     if os.path.exists('/sys/bus/iio/devices/iio:device' + str(count) + '/in_accel_scale') == True: | ||||
|         dpath = '/sys/bus/iio/devices/iio:device0/' # directory of accelerometer device (iio) | ||||
|         break | ||||
|     count = count + 1 | ||||
| #print(dpath) | ||||
| 
 | ||||
| #Commands for correct rotation | ||||
| normal = 'xrandr -o normal; '+'xinput set-prop ' + devicename +" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1;"+'xinput set-prop ' + penname +" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1;" | ||||
| inverted = 'xrandr -o inverted; '+'xinput set-prop ' + devicename +" 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1;"+'xinput set-prop ' + penname +" 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1;" | ||||
| right = 'xrandr -o left; '+'xinput set-prop ' + devicename +" 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1;"+'xinput set-prop ' + penname +" 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1;" | ||||
| left = 'xrandr -o right; '+'xinput set-prop ' + devicename +" 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1;"+'xinput set-prop ' + penname +" 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1;" | ||||
| 
 | ||||
| current_state = 0 # 0 normal, 1 inverted, 2 right, 3 left | ||||
| with open(dpath + 'in_accel_scale') as f: | ||||
|     scale = float(f.readline()) | ||||
| while True: | ||||
|     previous_state = current_state | ||||
|     status = readFile(os.path.join(path, 'status.txt')) | ||||
|     print(status) | ||||
|     if str(status[0]) == "on": | ||||
|         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: | ||||
|                     time.sleep(1.0/freq) | ||||
|                     thex = float(fx.readline()) | ||||
|                     they = float(fy.readline()) | ||||
|                     thez = float(fz.readline()) | ||||
|                     print("x:" + str(thex)) | ||||
|                     print("y:" + str(they)) | ||||
|                     print("z:" + str(thez)) | ||||
|                     if (thex >= 65000 or thex <=650): | ||||
|                         if (they <= 65000 and they >= 64000): | ||||
|                             print("normal!") | ||||
|                             os.system(normal) | ||||
|                             current_state = 0 | ||||
|                         if (they >= 650 and they <= 1100): | ||||
|                             print("inverted!") | ||||
|                             os.system(inverted) | ||||
|                             current_state = 1 | ||||
|                     if (thex <= 64999 and thex >= 650): | ||||
|                         if (thex >= 800 and thex <= 1000): | ||||
|                             print ("right!") | ||||
|                             os.system(right) | ||||
|                             current_state = 2 | ||||
|                         if (thex >= 64500 and thex <=64700): | ||||
|                             print ("left!") | ||||
|                             os.system(left) | ||||
|                             current_state = 3 | ||||
|     if str(status[0]) == "off": | ||||
|         time.sleep(1.0) | ||||
|     if current_state != previous_state: | ||||
|         refreshtouch() | ||||
|         print "re" | ||||
|  | @ -0,0 +1,32 @@ | |||
| #!/usr/bin/env python | ||||
| import os | ||||
| from gi.repository import Notify | ||||
| 
 | ||||
| def readFile(path): #self.filename | ||||
|     myDatei = open(path, "r") | ||||
|     myList = [] | ||||
|     #Liste aus Datei erstellen | ||||
|     for Line in myDatei: | ||||
|         Line = Line.rstrip() | ||||
|         #Line = Line.decode('utf8') | ||||
|         myList.append(Line) | ||||
|     myDatei.close() | ||||
|     return(myList) | ||||
| 
 | ||||
| def writeFile(path, myList): #self.filename | ||||
|     myDatei = open(path, "w") | ||||
|     #Liste aus Datei erstelle | ||||
|     myDatei.writelines(myList) | ||||
|     myDatei.close() | ||||
| 
 | ||||
| status = readFile('/home/marc/.scripts/status.txt') | ||||
| if status[0] == "on": | ||||
|     writeFile('/home/marc/.scripts/status.txt', ["off"]) | ||||
|     Notify.init ("Rotation-ON") | ||||
|     RotationOFF=Notify.Notification.new ("Rotation","Screenrotation is now turned OFF","dialog-information") | ||||
|     RotationOFF.show () | ||||
| if status[0] == "off": | ||||
|     writeFile('/home/marc/.scripts/status.txt', ["on"]) | ||||
|     Notify.init ("Rotation-OFF") | ||||
|     RotationON=Notify.Notification.new ("Rotation","Screenrotation is now turned ON","dialog-information") | ||||
|     RotationON.show () | ||||
|  | @ -0,0 +1 @@ | |||
| on | ||||
		Loading…
	
		Reference in New Issue