{"id":643,"date":"2011-01-18T15:58:55","date_gmt":"2011-01-18T15:58:55","guid":{"rendered":"https:\/\/fossworld.dk\/?p=643"},"modified":"2013-08-24T21:11:45","modified_gmt":"2013-08-24T21:11:45","slug":"spil-og-dimseri-pa-linux-momo-racing-wheel","status":"publish","type":"post","link":"https:\/\/fossworld.dk\/?p=643","title":{"rendered":"Spil og dimseri p\u00e5 Linux &#8211; MOMO Racing Wheel"},"content":{"rendered":"<p>Jeg k\u00f8bte i tidernes morgen et Logitech MOMO rat til diverse bilspil. Det kostede en mindre herreg\u00e5rd og er maksimalt blevet benyttet en h\u00e5ndfuld gange.<br \/>\nDet plejer at v\u00e6re s\u00e5dan at jo st\u00f8rre softwarepakke der f\u00f8lger med en ny hardwareenhed, jo mere besv\u00e6rligt er det at f\u00e5 den til at fungere ordenligt &#8211; is\u00e6r n\u00e5r der st\u00e5r Logitech p\u00e5 \u00e6sken. MOMO-rattet var ej heller nogen undtagelse. Det tog det meste af en dag f\u00f8r jeg kunne snuppe de f\u00f8rste omgange p\u00e5 Silverstone og jeg fik aldrig gearstangen til at fungere i noget spil.<br \/>\n<!--break--><br \/>\nMOMO rattet havnede s\u00e5 i en lang \u00e5rr\u00e6kke p\u00e5 en halvst\u00f8vet hylde. Da jeg for nogle \u00e5r siden besluttede mig til at g\u00e5 openSUSE solo og de andre styresystemer, overvejede jeg endda at smide det hele ud &#8211; men glemte alt om det.<br \/>\nHer under julen fandt jeg ved et tilf\u00e6lde dog en guide til at s\u00e6tte rattet op under Ubuntu &#8211; hvilket absolut lige skulle pr\u00f8ves og det har vist sig at det er s\u00e6rdeles velfungerende.Der mangler dog indtil videre underst\u00f8ttelse for force feedback, men det er sandt at sige ikke en funktionalitet jeg savner. Rent faktisk slog jeg det i tidernes morgen fra, efter at have k\u00f8rt bare et par enkelte baner. Det er indtil videre ogs\u00e5 kun enkelte spil som for eksempel VDrift der har eksperimental underst\u00f8ttelse af basal forcefeedback.<\/p>\n<h2>En kort beskrivelse af MOMO rat-s\u00e6ttet<\/h2>\n<p>MOMO-s\u00e6ttet best\u00e5r af en gulvenhed, med en speeder og en bremsepedal og en bordenhed med et rat med et gearskift som p\u00e5 en formel 1-bil og en koblingsfri gearstang. De to enheder forbindes af et serielkabel og fra bordenheden forbindes MOMO til P.C&#8217;en med et USB-kabel.<\/p>\n<h2>Installation<\/h2>\n<p>F\u00f8lgende procedure er specifikt rettet imod openSUSE 11.3, men kan med meget f\u00e5 \u00e6ndringer bruges til de fleste distributioner.<br \/>\nF\u00f8rst skal vi have installeret en v\u00e6rkt\u00f8jspakke, der skal h\u00e5ndtere ops\u00e6tningen. Denne hedder i openSUSE-land &#8220;input-utils&#8221;, varierer dog n\u00e6ppe det store i andre grevskaber og installeres hurtigst s\u00e5ledes :<br \/>\n<cite><br \/>\nflywheel@starbug:~&gt;sudo zypper in input-utils<br \/>\n<\/cite><br \/>\nN\u00e5r MOMO er tilsluttet til P.Cen, kan man hurtigt lige se om det er g\u00e5et glat med v\u00e6rkt\u00f8jet &#8220;lsusb&#8221;, der lister de tilsluttede USB-enheder. P\u00e5 min egen maskine ser det s\u00e5ledes ud :<\/p>\n<p><cite><br \/>\nflywheel@starbug:~&gt; lsusb<br \/>\nBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br \/>\nBus 001 Device 003: ID 0409:0058 NEC Corp. HighSpeed Hub<br \/>\nBus 001 Device 007: ID 07cc:0200 Carry Computer Eng., Co., Ltd 6-in-1 Card Reader<br \/>\nBus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br \/>\nBus 002 Device 002: ID 04f3:0103 Elan Microelectronics Corp.<br \/>\nBus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br \/>\nBus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br \/>\nBus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br \/>\nBus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub<br \/>\nBus 006 Device 002: ID 056a:0069 Wacom Co., Ltd<br \/>\n<strong>Bus 006 Device 003: ID 046d:ca03 Logitech, Inc. MOMO Racing<\/strong><br \/>\nflywheel@starbug:~&gt;<br \/>\n<\/cite><\/p>\n<p>N\u00e5r vi nu kan se at MOMO-rattet er fundet, kan vi se n\u00e6rmere p\u00e5 hvilken funktionalitet der er fundet og hvordan det hele virker. Det g\u00f8res med v\u00e6rkt\u00f8jet \u00bbjstest\u00ab, der hos mig giver f\u00f8lgende output :<\/p>\n<p><cite><br \/>\nflywheel@starbug:~&gt; jstest \/dev\/input\/js0<br \/>\nDriver version is 2.1.0.<br \/>\nJoystick (Logitech Logitech MOMO Racing ) has 2 axes (X, Y)<br \/>\nand 10 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4).<br \/>\nTesting &#8230; (interrupt to exit)<br \/>\nAxes: 0: 1845 1: 511 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off<br \/>\nflywheel@starbug:~&gt;<br \/>\n<\/cite><br \/>\nS\u00e5 er det tid til at kalibrere rattet &#8211; hvilket er n\u00f8dvendigt da b\u00e5de axis 0 (rattet) og axis 1 (speeder, bremse) har et lille problem n\u00e5r det er midterstillet, det vil sige der hvor de to individuelle kontroller bliver f\u00f8jet sammen til en axis. Dette g\u00f8res med v\u00e6rkt\u00f8jet &#8220;jscal&#8221; :<br \/>\n<cite><br \/>\nflywheel@starbug:~&gt; jscal -c \/dev\/input\/js0<\/p>\n<p><\/cite><br \/>\nHer f\u00f8lger du bare v\u00e6rkt\u00f8jets anvisninger :<\/p>\n<ul>\n<li>R\u00f8r ikke rattet, vent<\/li>\n<li>Drej helt til h\u00f8jre og tryk p\u00e5 en knap<\/li>\n<li>Lad rattet v\u00e6re i midterstilling og tryk p\u00e5 en knap<\/li>\n<li>Drej helt til venstre og tryk p\u00e5 en knap<\/li>\n<li>Tr\u00e6d bremsepedalen i bund og tryk p\u00e5 en knap<\/li>\n<li>R\u00f8r ikke rattet, tryk p\u00e5 en knap<\/li>\n<p>&lt;liTr\u00e6d gaspedalen i bund og tryk p\u00e5 en knap<\/ul>\n<p>Dette giver hos mig udskriften :<\/p>\n<p><cite><br \/>\nflywheel@starbug:~&gt; jscal -c \/dev\/input\/js0<br \/>\nJoystick has 2 axes and 10 buttons.<br \/>\nCorrection for axis 0 is broken line, precision is 0.<br \/>\nCoeficients are: 506, 506, 1060977, 1042436<br \/>\nCorrection for axis 1 is broken line, precision is 0.<br \/>\nCoeficients are: 127, 127, -4194176, -4227201<\/cite><\/p>\n<p>Calibrating precision: wait and don&#8217;t touch the joystick.<br \/>\nDone. Precision is:<br \/>\nAxis: 0: 0<br \/>\nAxis: 1: 0<\/p>\n<p>Move axis 0 to minimum position and push any button.<br \/>\nHold &#8230; OK.<br \/>\nMove axis 0 to center position and push any button.<br \/>\nHold &#8230; OK.<br \/>\nMove axis 0 to maximum position and push any button.<br \/>\nHold &#8230; OK.<br \/>\nMove axis 1 to minimum position and push any button.<br \/>\nHold &#8230; OK.<br \/>\nMove axis 1 to center position and push any button.<br \/>\nHold &#8230; OK.<br \/>\nMove axis 1 to maximum position and push any button.<br \/>\nHold &#8230; OK.<\/p>\n<p>Setting correction to:<br \/>\nCorrection for axis 0: broken line, precision: 0.<br \/>\nCoeficients: 508, 508, 1056800, 1046500<br \/>\nCorrection for axis 1: broken line, precision: 0.<br \/>\nCoeficients: 127, 127, -4194176, -4227201<\/p>\n<p>flywheel@starbug:~&gt;<\/p>\n<p>Da det er lidt b\u00f8vlet at skulle g\u00f8re efter hver genstart, kan vi ogs\u00e5 f\u00e5 jscal til at udskrive alt til en enkeltlinies kommando. Det ser hos mig s\u00e5ledes ud :<\/p>\n<p><cite><br \/>\nflywheel@starbug:~&gt;jscal -p \/dev\/input\/js0<br \/>\njscal -s 2,1,0,506,506,1060977,1042436,1,0,127,127,-4194176,-4227201<\/p>\n<p><\/cite><\/p>\n<p>Nu kan jeg s\u00e5 enten kopiere dette ind i et lille script eller indtaste denne hver gang jeg tilslutter MOMO-rattet, men hvorfor dette n\u00e5r det kan automatiseres fuldst\u00e6ndigt.<br \/>\nSiden kerne 2.6, har Linux benyttet udev-systemet til at h\u00e5ndtere s\u00e5dan noget som USB-enheder. Hvad systemet automatisk skal g\u00f8re n\u00e5r en specifik USB-enhed bliver tilsluttet, kan defineres med en s\u00e5kaldt udev regl.<br \/>\nDette g\u00f8res ved at oprette filen \/etc\/udev\/rules.d\/80-logitech-momo-wheel.rules. Det kan for eksempel g\u00f8res s\u00e5ledes :<\/p>\n<p><cite><br \/>\nflywheel@starbug:~&gt;sudo kwrite \/etc\/udev\/rules.d\/80-logitech-momo-wheel.rules<\/p>\n<p><\/cite><\/p>\n<p>I denne fil kopieres nedenst\u00e5ende :<\/p>\n<p><cite><br \/>\nACTION!=&#8221;add&#8221;, GOTO=&#8221;momo_end&#8221;<br \/>\nSUBSYSTEM!=&#8221;input&#8221;, GOTO=&#8221;momo_end&#8221;<br \/>\nKERNEL!=&#8221;js[0-9]*&#8221;, GOTO=&#8221;momo_end&#8221;<\/cite><\/p>\n<p>SYSFS{idProduct}==&#8221;ca03&#8243;, SYSFS{idVendor}==&#8221;046d&#8221;, RUN+=&#8221;<strong>[din jscal justering]<\/strong> $tempnode&#8221;<\/p>\n<p>LABEL=&#8221;momo_end&#8221;<\/p>\n<p>L\u00e6g m\u00e6rke til det det fremh\u00e6vede tekst. Her inds\u00e6tter du den jscal kommando, der blev fundet lige f\u00f8r. Hos mig ser filen s\u00e5ledes ud :<\/p>\n<p><cite><br \/>\nACTION!=&#8221;add&#8221;, GOTO=&#8221;momo_end&#8221;<br \/>\nSUBSYSTEM!=&#8221;input&#8221;, GOTO=&#8221;momo_end&#8221;<br \/>\nKERNEL!=&#8221;js[0-9]*&#8221;, GOTO=&#8221;momo_end&#8221;<\/cite><\/p>\n<p>SYSFS{idProduct}==&#8221;ca03&#8243;, SYSFS{idVendor}==&#8221;046d&#8221;, RUN+=&#8221;\/usr\/bin\/jscal -s 2,1,0,506,506,1060977,1042436,1,0,127,127,-4194176,-4227201 $tempnode&#8221;<\/p>\n<p>LABEL=&#8221;momo_end&#8221;<\/p>\n<p>S\u00e5 er den basale MOMO funktionalitet sat op og du er klar til at s\u00e6tte spillene op.<br \/>\nOps\u00e6tning i spillene udf\u00f8res ofte under kontrol-menuen, hvor hver bilkontrol skal associeres med den korresponderende joystick kontrol. Det betyder at man stort set skal igennem den samme process som ovenfor. B\u00e5de Torcs og Vdrift er ganske lette at s\u00e6tte op p\u00e5 den m\u00e5de.<\/p>\n<p>Henvisninger:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.logitech.com\/dk-dk\/441\/320\">Logitech MOMO<\/a> Racing Force Feedback Wheel<\/li>\n<li><a href=\"http:\/\/vdrift.net\">VDrift<\/a> &#8211; findes til Linux, FreeBSD, Mac OS X og Windows.<\/li>\n<li><a href=\"http:\/\/torcs.sourceforge.net\">Torcs (The Open Racing Car Simulator)<\/a> &#8211; findes til Linux(x86, AMD64 og PPC), FreeBSD, MacOSX og Windows.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Jeg k\u00f8bte i tidernes morgen et Logitech MOMO rat til diverse bilspil. Det kostede en mindre herreg\u00e5rd og er maksimalt blevet benyttet en h\u00e5ndfuld gange. Det plejer at v\u00e6re s\u00e5dan at jo st\u00f8rre softwarepakke der f\u00f8lger med en ny hardwareenhed, jo mere besv\u00e6rligt er det at f\u00e5 den til at fungere ordenligt &#8211; is\u00e6r n\u00e5r der st\u00e5r Logitech p\u00e5 \u00e6sken.&hellip; <a href=\"https:\/\/fossworld.dk\/?p=643\">More &rarr;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[250,249,27],"tags":[251,252],"class_list":["post-643","post","type-post","status-publish","format-standard","hentry","category-desktop","category-dimser","category-opensuse","tag-logitech","tag-momo-racing-wheel"],"_links":{"self":[{"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/posts\/643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fossworld.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=643"}],"version-history":[{"count":1,"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/posts\/643\/revisions"}],"predecessor-version":[{"id":644,"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/posts\/643\/revisions\/644"}],"wp:attachment":[{"href":"https:\/\/fossworld.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fossworld.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fossworld.dk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}