#N canvas 163 335 546 315 10; #X obj 8 10 init 1; #N canvas 95 25 450 300 axis 0; #X obj -80 4 inlet; #X obj 117 121 zmap_lin 255 0 0 1; #X obj 117 187 s le3dp-throttle; #X obj -80 41 route abs_x abs_y abs_rz abs_throttle abs_hat0x abs_hat0y ; #X obj 182 61 s le3dp-hatx; #X obj 248 81 s le3dp-haty; #X obj 314 61 assert; #N canvas 498 328 450 300 z 0; #X obj 24 15 inlet; #X obj 24 164 s le3dp-z; #X obj 24 45 moses 128; #X obj 82 65 moses 144; #X obj 82 85 b; #X obj 82 104 0; #X obj 24 141 zmap_lin 0 128 -1 0; #X obj 140 85 zmap_lin 144 255 0 1; #X connect 0 0 2 0; #X connect 2 0 6 0; #X connect 2 1 3 0; #X connect 3 0 4 0; #X connect 3 1 7 0; #X connect 4 0 5 0; #X connect 5 0 1 0; #X connect 6 0 1 0; #X connect 7 0 1 0; #X restore 51 109 pd z; #N canvas 496 358 450 300 x 0; #X obj -70 11 inlet; #X obj -70 145 s le3dp-x; #X obj -70 31 moses 508; #X obj -12 50 moses 520; #X obj -12 69 b; #X obj -12 88 0; #X obj -70 126 zmap_lin 0 508 -1 0; #X obj 46 69 zmap_lin 520 1023 0 1; #X connect 0 0 2 0; #X connect 2 0 6 0; #X connect 2 1 3 0; #X connect 3 0 4 0; #X connect 3 1 7 0; #X connect 4 0 5 0; #X connect 5 0 1 0; #X connect 6 0 1 0; #X connect 7 0 1 0; #X restore -80 80 pd x; #N canvas 496 358 450 300 y 0; #X obj -70 11 inlet; #X obj -12 69 b; #X obj -12 88 0; #X obj -70 145 s le3dp-y; #X obj -70 31 moses 486; #X obj -12 50 moses 512; #X obj -70 126 zmap_lin 0 486 -1 0; #X obj 46 69 zmap_lin 512 1023 0 1; #X connect 0 0 4 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 1 0; #X connect 5 1 7 0; #X connect 6 0 3 0; #X connect 7 0 3 0; #X restore -15 82 pd y; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 3 0 8 0; #X connect 3 1 9 0; #X connect 3 2 7 0; #X connect 3 3 1 0; #X connect 3 4 4 0; #X connect 3 5 5 0; #X connect 3 6 6 0; #X restore 8 245 pd axis; #X obj 8 221 route abs key; #N canvas 0 0 450 300 buttons 0; #X obj 12 10 inlet; #X obj 12 32 route btn_0 btn_1 btn_2 btn_3 btn_4 btn_5 btn_6 btn_7 btn_8 btn_9 btn_10 btn_11; #X obj 12 68 s le3dp-b1; #X obj 386 186 s le3dp-b12; #X obj 352 166 s le3dp-b11; #X obj 318 146 s le3dp-b10; #X obj 284 126 s le3dp-b9; #X obj 250 106 s le3dp-b8; #X obj 216 86 s le3dp-b7; #X obj 182 190 s le3dp-b6; #X obj 148 165 s le3dp-b5; #X obj 114 138 s le3dp-b4; #X obj 80 116 s le3dp-b3; #X obj 46 92 s le3dp-b2; #X obj 420 70 assert; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 1 13 0; #X connect 1 2 12 0; #X connect 1 3 11 0; #X connect 1 4 10 0; #X connect 1 5 9 0; #X connect 1 6 8 0; #X connect 1 7 7 0; #X connect 1 8 6 0; #X connect 1 9 5 0; #X connect 1 10 4 0; #X connect 1 11 3 0; #X connect 1 12 14 0; #X restore 51 266 pd buttons; #X obj 38 172 prepend open; #X obj 38 84 py find_hid; #X obj 8 39 t f b; #X obj 8 199 hid; #X obj 38 106 route -1; #X obj 38 126 0; #X obj 8 148 spigot 1; #X text 12 294 (c) Tim Blechmann 2005 \, $Id: le3dp.pd 221 2005-12-17 18:31:17Z tim $; #X text 116 220 abstraction to use a Logitech Extreme 3D Joystick with hid under linux; #X msg 38 60 find "product=Logitech Extreme 3D"; #X connect 0 0 6 0; #X connect 2 0 1 0; #X connect 2 1 3 0; #X connect 4 0 7 0; #X connect 5 0 8 0; #X connect 6 0 10 0; #X connect 6 1 13 0; #X connect 7 0 2 0; #X connect 8 0 9 0; #X connect 8 1 4 0; #X connect 9 0 10 1; #X connect 10 0 7 0; #X connect 13 0 5 1;