mirror of
				https://git.davidovski.xyz/dot.git
				synced 2024-08-15 00:43:28 +00:00 
			
		
		
		
	initial commit
This commit is contained in:
		
						commit
						01ced0b7ce
					
				
					 184 changed files with 35358 additions and 0 deletions
				
			
		
							
								
								
									
										61
									
								
								scripts/tablet
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										61
									
								
								scripts/tablet
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,61 @@ | |||
| #!/usr/bin/python | ||||
| import sys | ||||
| 
 | ||||
| #Arguments | ||||
| dev = sys.argv[1] | ||||
| prop = sys.argv[2] | ||||
| scale = float(sys.argv[3]) | ||||
| tablet_ratio = (lambda s: float(s[0]) / float(s[1]))(sys.argv[4].split(":")) if len(sys.argv) > 4 else 16/9 | ||||
| 
 | ||||
| #Layout of screens: (x, y, w, h) | ||||
| screens = [ | ||||
| 	(0,0, 1080, 1920), | ||||
| 	(1080, 0, 2560, 1440), | ||||
| 	(3640, 208, 1280, 1024), | ||||
| ] | ||||
| 
 | ||||
| #TODO find this with xrandr | ||||
| 
 | ||||
| target = screens[1] | ||||
| 
 | ||||
| #Physical offset of the selected screen | ||||
| offsetx = target[0] | ||||
| offsety = target[1] | ||||
| 
 | ||||
| #Size of the full screen areas | ||||
| sh = 1920 | ||||
| sw = 1280 + 2560 + 1080 | ||||
| #TODO calculate using list of screens | ||||
| 
 | ||||
| #Aspect ratio of the tablet, to avoid weird scaling problems | ||||
| 
 | ||||
| #Size of the tablet | ||||
| #Prioritize the with when scaling between aspect ratios | ||||
| tw = target[2]   | ||||
| th = tw / tablet_ratio | ||||
| print(tw, "x", th) | ||||
| 
 | ||||
| #make a variable that will try to make the scale the same over diferent resoultions | ||||
| f = target[3] / target[3] | ||||
| print ("f value =", f) | ||||
| 
 | ||||
| #calculate the new area size | ||||
| aw = tw * scale * f | ||||
| ah = th * scale * f | ||||
| 
 | ||||
| ox = (target[2] - aw) / 2 + offsetx | ||||
| oy = (target[3] - ah) / 2 + offsety | ||||
| #ox = offsetx | ||||
| #oy = offsety | ||||
| 
 | ||||
| 
 | ||||
| c0 = aw  / sw | ||||
| c2 = ah / sh  | ||||
| c1 = ox  / sw | ||||
| c3 = oy  / sh | ||||
| 
 | ||||
| print(str(c0), "0", str(c1), "0", str(c2), str(c3), "0 0 1") | ||||
| 
 | ||||
| import os | ||||
| os.system(" ".join(["xinput set-prop", dev, prop, str(c0), "0", str(c1), "0", str(c2), str(c3), "0 0 1"])) | ||||
| #alias tablet2="xinput set-prop 18 156 2.45 0 -0.725 0 2.45 -0.725 0 0 1" | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue