Best Python code snippet using ATX
DeviceCtrol.py
Source:DeviceCtrol.py  
...76        def make_canvas(self):77            # screen canvas, bind mouse input & keyboard input78            self.canvas = tk.Canvas(self.root, bg='black', bd=0, highlightthickness=0)79            self.canvas.pack()80            def screen2touch(x, y):81                '''convert touch position'''82                w, h, o = adb._display83                if o == 0:84                    return x, y85                elif o == 1:  # landscape-right86                    return w - y, x87                elif o == 2:  # upsidedown88                    return w - x, h - y89                elif o == 3:  # landscape-left90                    return y, h - x91                return x, y92            def on_mouse_down(event):93                self.canvas.focus_set()94                x, y = int(event.x / scale), int(event.y / scale)95                x, y = screen2touch(x, y)96                adb.send_touch('d 0 %d %d 30\nc\n' % (x, y))97            def on_mouse_up(event):98                adb.send_touch('u 0\nc\n')99            def on_mouse_drag(event):100                x, y = int(event.x / scale), int(event.y / scale)101                x, y = screen2touch(x, y)102                adb.send_touch('m 0 %d %d 30\nc\n' % (x, y))103            self.canvas.bind('<ButtonPress-1>', on_mouse_down)104            self.canvas.bind('<ButtonRelease-1>', on_mouse_up)105            self.canvas.bind('<B1-Motion>', on_mouse_drag)106            keymap = {'\r': 'KEYCODE_ENTER', ' ': 'KEYCODE_SPACE', '\x08': 'KEYCODE_DEL',}107            def on_key(event):108                c = event.char109                # print 'key pressed', repr(c), type(c)110                if c in 'adbcdefghijklmnopqrstuvwxyz0123456789':111                    adb.input(c)112                    return 'break'113                if c in keymap:114                    adb.keyevent(keymap[c])115                    return 'break'...screen.py
Source:screen.py  
...76        def make_canvas(self):77            # screen canvas, bind mouse input & keyboard input78            self.canvas = tk.Canvas(self.root, bg='black', bd=0, highlightthickness=0)79            self.canvas.pack()80            def screen2touch(x, y):81                '''convert touch position'''82                w, h, o = adb._display83                if o == 0:84                    return x, y85                elif o == 1:  # landscape-right86                    return w - y, x87                elif o == 2:  # upsidedown88                    return w - x, h - y89                elif o == 3:  # landscape-left90                    return y, h - x91                return x, y92            def on_mouse_down(event):93                self.canvas.focus_set()94                x, y = int(event.x / scale), int(event.y / scale)95                x, y = screen2touch(x, y)96                adb.send_touch('d 0 %d %d 30\nc\n' % (x, y))97            def on_mouse_up(event):98                adb.send_touch('u 0\nc\n')99            def on_mouse_drag(event):100                x, y = int(event.x / scale), int(event.y / scale)101                x, y = screen2touch(x, y)102                adb.send_touch('m 0 %d %d 30\nc\n' % (x, y))103            self.canvas.bind('<ButtonPress-1>', on_mouse_down)104            self.canvas.bind('<ButtonRelease-1>', on_mouse_up)105            self.canvas.bind('<B1-Motion>', on_mouse_drag)106            keymap = {'\r': 'KEYCODE_ENTER', ' ': 'KEYCODE_SPACE', '\x08': 'KEYCODE_DEL',}107            def on_key(event):108                c = event.char109                # print 'key pressed', repr(c), type(c)110                if c in 'adbcdefghijklmnopqrstuvwxyz0123456789':111                    adb.input(c)112                    return 'break'113                if c in keymap:114                    adb.keyevent(keymap[c])115                    return 'break'...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
