From 2564e9542109dddfcaed7385686785a63047f709 Mon Sep 17 00:00:00 2001 From: Thomas Jentzsch Date: Mon, 12 Aug 2019 11:09:00 +0200 Subject: [PATCH] rename paddle events update input mapping doc remove abbreviation from InputDialog tab --- Changes.txt | 2 +- docs/graphics/eventmapping.png | Bin 4893 -> 7459 bytes docs/graphics/eventmapping_combo.png | Bin 2402 -> 4034 bytes docs/graphics/eventmapping_remap.png | Bin 4901 -> 7438 bytes docs/index.html | 59 ++++++++++++++------------- src/emucore/EventHandler.cxx | 16 ++++---- src/gui/InputDialog.cxx | 6 +-- 7 files changed, 43 insertions(+), 40 deletions(-) diff --git a/Changes.txt b/Changes.txt index 0d7868416..5696c3989 100644 --- a/Changes.txt +++ b/Changes.txt @@ -30,7 +30,7 @@ * Added configurable paddle dejittering. - * Huge improvements to event remapping. (TODO: doc) + * Huge improvements to event remapping. - Allow mapping of modifier-key and button-direction combinations. - One controller can use the same mappings as other controllers - Much more events can be remapped diff --git a/docs/graphics/eventmapping.png b/docs/graphics/eventmapping.png index e165f37b43332df346cf6e361f25236492d46956..3907eaff89813d08a1387c87c938d7f67a0dcd3b 100644 GIT binary patch literal 7459 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 D%Fy=3 literal 4893 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 diff --git a/docs/graphics/eventmapping_combo.png b/docs/graphics/eventmapping_combo.png index f4c5d7f36504b96d826ee14411e1b9692cb7c368..18d4619717c31f5065b0e6d97a20be979c7be110 100644 GIT binary patch literal 4034 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 At^fc4 literal 2402 zcmeHIi(5=-7(bz6>==YDW5WtP*vX~VMrTHJMR=4*v(Z))qUfZ{X<{pvN*c0Bw>dE? zF{ULgN5*ARt%f;M(?yvkEp?_Q%~aEcS=uwT{1N*&&-1WNsG# zOa!)X@p2}d`}gnX+fM%r0C=hX&r8^HtU#l|2>-X|8w3A)2GS?^*b^Y99C7o30AN~$ zz8O@9T@NIj<`K@jBRs=c5mEl(LBJ9J1ECSL(4dIpPXkF_g}3yjUoTuG67UNQeY{sUREk8 zB(Hfe>t?il&g`uB<_?Y3Q;Sr z6PIjDXzbJSv;Ah2ZMJEBoG|jzAW~W|8d!9-CWdklEC5PT9R-T!@BYud7AsM z+*syo#AjnK@2<4#4GLbKX)&B&yGMeG>(@#|)0!J{a}GwF-)&k`kW1Z_vD!`oU2%=K z)aDz5HJbFyEA?~6U?y4`!qW0tLdJ0~1|v=AdqS~tUaU~rOwG8r*Y7b$=v%A1-{H|? zSG#a1NjOl+Ws6zNrweRCoO_}Na$m{f&km(8sa;m-M+V*NF6yKgXXIH2Yzss$bfqn) zBvDqoZ*zfHecJQqyA8}Xgv0Jjwypv>+|re;o1OOG!P8O~r$DxTe9y;>c{4tw-g|H~ zjC9?Mm(7*M%BW4|!%l%t*QvvE-~b12X{kM&+5JErR`f|E>ts%G8@v|vG;x-pv`~vm27{X&WOY*{Kmmqtr!y)q(0R;TDq`&4L zb%0vZL0K5XTKGJ8iV~&9(R_G|Le`fAJu)UFpw8BI#|a!1cs7iv7)C-5`kH9X1$tBc z2f10-tvEqfFXXA^c0wLynBDWEYA!vB3ZBF4KIH1mkPr<@Ldvrg*%eK(!q#7js2*TEBB_n`IVP2c$;izo z$szW*IT~h;ynX|TOM}?7;Dh>o@~bmq_|xg8$W#!f`AkH_sf2(MEmhFALsmRqe$y5T za&rJRhewzNSWsN35PKOzX46!V4-(5l#2@903B#1s6Ef86Z-mLF(M@5kzRNV9N~lw~ zF)kE7XXUaZ*h<{yVhrl%kywU)=^P~IvtsPTp@jr^O*^D&!vFpXTiN~vwI2L9>NG9N z#}4q% zNaO~~^epfQ^M$|vAWa2H`fpL`$Qds(3)9*JHZict17wb)5Wc%k;Z~;2y($ zjR7{FHzPmbRR))mh0}Z%n)Tn+CKRo$RjqClbHekgK~-n%f(9s0v-jhH>Rg?;Io#o+ zlYLW5PqaA80!PQBMO=QDzZEsr>J&C}y}kzPO`_$ZeAi-|(PFz(?2|FRN%|k2yYp5j J!G?Va{{jWeSup?r diff --git a/docs/graphics/eventmapping_remap.png b/docs/graphics/eventmapping_remap.png index 5676b37d10ff75f11b31b92374d87bcf8c7c73e4..e99aed5dd790ddd21dbb6a35e05e41c36187a9af 100644 GIT binary patch literal 7438 zcmeHshgVZymp0Oif+9tFZ=onfq$3E1UXmMnQ9uY)x)_QS5di@SH3&$DT&f@{NKxq^ zozRpH0s#bqh@i-X*EP;>-kI+o_|{~tyK-~NKIiPcpS_>66Ki4wJx9wuTAB>HBZVu#^#y| z9_+mWQm)nJxM6-2UgGJgWsG^tqyRy3Yi)@ZxS2WNvu!#ha56u6u5}~xUgAdMXL3^F zGiS?Ho@heJHY#)N@}Li1KDFtlz_LWCYr1|#q4*NM!=VkL4RPYI%Dk9}O$tMqyf4#e zafPQ47L~E&=y1k|8@r@%E~l;RWtl8sz3zOB4b@ef1i^k<$oZ-m3WUYvyTsUKNMmsQ zYRl5App?EIK!ET9=o>$LAI!=CGi*WsIgSkOaVl_P_>W^|K|*6yj4=q{ zQ7q{Pv^}I*7C3bg?NY(EqrihOr}>k`nx2|b3*(W}#<$zCE}ZwKX6{odme9dNKPtnx zlJ+KdIoH|YGYwxSN6qwH=6-Ds_!=lGhk}!jDAT6GS66UBn+iJF(Wjkg8M^s3(>Sb zCeseNpk4I)z~PZc=X(n*S&<1|J{H3`tJ}A`rMG6w3AbWAxiJG5G~isk;gWH+zFZzc zg+`Kt#gMz)szz&iH^n`r4Fi~zyi$4Jolo4ynMPxk2!dA0jwpE?3RYPdS)z2E#F|Oy z&J@%PCQvl8GcDq6I&My7-BUIyp9HTY>#uEJM$Ly4)RdpiD#ttXYGH^At77nLPlTxF zSr{*IPHZ-^+crQDntC>?rfw2cfiPTOFK@{RXT5uc#ZoC;h>(|2+&A${cf!9 z`%=Ni_ewBgCEZk*i|K2!F#A-2B^AMmu`RR2YA&~_?Q6nOz|_-!NzG2K1hz<9^l~*b z%-Ex0{-Ncy{2toc7a}d3GWENqJ&PJ;_JF>hDc96RskFjOf?e4jKI5j#sR9!nKHPGPT;{)>{o%VRBSFUy!nsw80?c{@P^%U zbVh-PL}=Y`0xu9982w*Z+=u@PJ$~>zz495b^1xA|fmLyfBhgy^D=f|4A;sNw5Ha|3 zyYJ-r>aQ1})xCSd6SX<`)`?OGhYPsPyN!Fi+{~U#@fG*{ISH||{_>-T z-OEhB*euk^H+EH9%xNrh7IvFy^9xyf#1s%*+;im*aL>}1O3U{Ij6Rnup^~#BVM2(m zt^<%h4f1XE!u{%&lq}F^-fl)`U#BAY0CKXfOXK^5`Xaw#Mb!^&kDQ1Hn+1Qq-CUXG-z8RI;WIoqZet`7LY;;F=ckTt(>kaQ5 z-TTbqQC1ed(QD<7)U*CGe#Ud*X4nqO+NNIuAuY9}10LP$@86j7v98H4i1cb}^u8l^ zKZ~)-w;xi`&eYFLIP;M!PXwnEeR`#Nk2LO+6nX9gPRb(R>HqCBf znfj!Om(wsjn@<+$S@h~fE#Jw;=WBEER#cHziDx87UrD!$xv-#TF#M}#M62dYOm9of zqj*bRM8W-P4}h0ERcDR);l(O`Ddk7sYf^Qk)}rB08s)q@7@U%;YKD?+*Dq*{*N3R! zmMMwBo715FRa{7WpnJ)YQDU)`pAzSWvkUQ^z8Ixq!Vf=|6M+}IBdbP~h24C3;h`d1 z4QdAUF!N$_3eF2kubjZ`<#nLB?43`p0I^d9z9OH&r)QJTtO6y<7%0{&psy^uF2{H} z&IIgEBA|HvJuoGD_E|Y6(;nLe)-4akyE8(LvZid%j@a}(xhrPr`Im%|!d-PK5c~Q2 zAr1<+sM3=zKcGJ-x~JNq&1tZIXBLCEeIwF*++gRJ1H{iKUHusXk6<+6kd&CzE-#bO zw0xnt@#>*72h*zDZgPRc=G1Rc)yusGjLLm+aayP9YnoC{Xyw+Q zDWAb$1RkB4NE;R;Ej9~^d(R-{NjIO}X`fUN7y5W*zELJiE05fia@JUkF3dZc;-_%9 zANvE<^j32kIB6E2O$v1?FZE;1;a_XL-nY!NM}KTc>+kzIEfr$TZqt9Fe{}olUl~Y{R~GmKEdO76s9VuB+AL&4~y6uLJu&n)(F*2dg#Qu;%x{~7LO{f zLELwD0eh$Qw&P1g{y?-@NHEyL^5^xRajm-xu1eVYZxC_WF6tW5(eKyXI{bW=k)eYmLSBVrEej*tM(&hdlTOqWa+mzQ7%i=L( zuO=OE{bekxi};N=I0X;jqj}_5kfSAQfpiVIf*5jO%5~U@(*H!NP`ay5gw0{RScVS* zBzL8xW4v>T2ZhDgAn;}|Jx}X&;V5WieXxqNa&9Kx=~lqzG~}2*u-|f3k+v$ z-u{I%*YKMGTs82PGWL5%@W4r~?e=02SncBidhX}$wYp5awGcxbOB5U9Abdk)HCO)&oH>uDSTRAH#@A6LT%8{)`T(afbxvN8Cr$-~p@X9JD0Om~E;1IjWuR>c&MKKLU$eUTea2mZaOhOCs1 zbBGEeBa>bxOEw*Co2$#r(-D=2$ZENzAT?LEyJLx58+GBN%|K5y%xZhplNN<;wi zyl&?0;a7au1vm8K{pWo~7~9*5Z#h5pMt@(uhwCFOtu@n^tqxd;O%eagxVmYv(-V;f zt+NH+O)}2WSn%T5by@q8Q;T9s1ddx{3$fEDLXKVS+?gefX*wlG>{Rf|DbLk=cfcRZ z(IQ4{rf{3P_DB1i`T-)1bnyC+u_(AK0)7d_=&gkKEm+0VZPzgJunUWxPYe3;c)_&% zBL{A-e+q~vMklSQ>wEIAi>=x%eywC1;5xb(6og+9VcES3FAkDZqS5h-EPO;}R-#mM z9lXjip#7!MD@SH@S=zngI54qzx?Ol0utsBw97S-;ZuBKqn&`}+FWOx0`C^C+o^u#H zhhi4K&k4MHY7L@hzRtH{Ps!pRp83Dn=SP@HiDc)8N%3I0{-prbeO;fGh~JlQM*w|$ z1Ro=Y08ysG1EejLdHCitE?9wU>DF879LOYrTx@}Gz9JJ0gJ_Ov#A{i~ZA7}aBSvme z>QdjBxbsziu8$PESaggvGjzYuVs`06KDTGO#?6aWK4VH(crFK9XY1di`$rv-B&8E?=WR-WU4jV<}a7m1b4+ z)mPfNkN?A4{@sOF;WIy2?#8qn?sOPhH^-f|krcN(Uj>b+URc8BD%VXv`4)+w3=8V2gIi_afvs2?nW!HH$$w@P3R+Bk(OS_^qp9yU z7N^8*Yc=tDXBX&;Fr^OhQc$hGb^aAZj|Kl8`w1)N-#4vktk=BQZC~vD!|L_>#Sk?d z?ek~q%@E|7(vj3VLb-|#K`6S=RPfi?srB0N>0W$ACS*n@WF+t`g1LU z;uB^1XM(mwCWPy@0Lh=8OHmOmN`Cc^KE=e`vA4)gD%GPhqg2B+!l=~g?K9AU?@YQFqB%>xw!ZGB{VhZ?W=pg|jE0+3;MAQ`N?}n5Viyzv>I8{6Gcqn~)eLo93!dUBCD1@(cf-ixZ)j-9MM3zJ`1& zG{J)bi94SWa~~P8Bgu}JC@$p)q|zDL@6A-CK^CzwJ<=dU2ff>x6 zAQ^eMzMN_yi4?%rnQL)M0ybZ6+!EK`zFM*#!9X?7FP@g~O4CV-{SH;5y+zmidi}x; z2vQ=IqPmh?T-ZJfUqofpHffHVWQ_@c)u(VrM>5AMZBo}D7OmwWbj5BWsrSt3tVz zE)x5bxVN0^hw>~sh$t~fj;J(~>kQ<29CKEyekzdMbbRctJ@ZWst3})z(O;q94Oqo|y9zsk* zWDz5jqK3g`#M@RztrjTvgi1vzpo6lVdoA-7Y+?82T&H=F+jDf;vjs$&Jn|x<5q(98 zkC+9NKYa<$DOAIci^dVl5_#kcdZeUD9i-Ua7hYTq^mqYMYV!hJ^6H~pr8WU1&gz22 zqMcADSzzK(nRQ{=s}JSlOKjX4<>PVJOYqYlYK*{7P^mFrcJE%*_wy6+?%AUms7*Yz#8WUgfbCOCF~Yqc8#+>+k%|%emphE^ zNlGL`&Yhnh+fB@vVCFaQ(#_wT+Q*!TPRCw2i(TWHeGg%4Nl{g z<`#G^sg92mKvM)<88GDuaA(4q1>sOCZ9ipN#1W8dqzcf`u}V|GdI7Pqdv?3eLIk(V zvSVCHMsB2k!ltH4#IE?FanI0#a;6aqOb!Fm7iR5Jy}2Rm(581>wy+N)wD?CwypZ zXZRpOvmc1!UG2?x1~rg_SK$d7f7Pv)?M9#{&S)>q(&GCk75HlhUt5r%97s?UjMayy zDIPNYy{jB{V1FN$J}!R~(pHKoJrdaK9&FMY3;kWOgI=E)^mBSHVEicE#m;RjUy8%Y zCc+g|zY%zaz6d`nK6!r>IzXmMm8IXeB(+uMH*x&K;oDIAQ8z+h(6)Y17OSQS-kBTS{IfWYnqo;=29JxAv~!WKs%McG}|mQE}hPRJOi-Bo90DWV?ZBcGwF zZn}Ty?PTjSlDYplk4Cl3tQQlY>e+mTc|zng*Nj2-Zq_@PyD?B&_XJ7q0Wmea+IjSR zFR_e`MY@~^f!R*qQCdR}xd9qmOKfGZiBISv@zP4g(mW*j!?1frCcaRr(;ZVZE!=rM z4jF8+1y7?8%ziS8a>n?!o6s$|_Jd#4xNh`J$Z%GSU3h)9;k!$4HCfsCBc1y+J6 zPG*OvMgn&W>inWy5U;l4xfbtCr1qJ-J(_upQcd#jYtnZL?F2pDSJn zPpVB9CZ1a!4&h4y>=(gMw98+n_+NGMzs~f(B)Gp(@4r>n|IBC*!Yz;LFq)TSRowXN zvVVoa;Kw4d+Oy?+|GuIc;_yK6HLvjtd4knljod}mn9oH=6P_W&GLYNdcQEE9VzI^~K41*^bgiK)A9z-22=KB``3fQ$-*Ei;&|pn!&PO<34quA@%#r`Sp@EO2WKc}4VGv#)qvo9rg zF-kER78-X9RP(`S1mUXC5{Pj!wk5}4pA!SBXqOxXI+UOU2u$t*)%z^VVzVdLpedsN kPfMo)Dac>DT_Z+3$*+{w<}eZKPGDc`Nci0J6Wwy8r+H literal 4901 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 P|E;jII&N8Ugb@2b_BV@l diff --git a/docs/index.html b/docs/index.html index a6d56c954..a8797b52e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1021,13 +1021,13 @@ - Paddle 0 decrease - Right arrow + Paddle 0 Turn Left + Left arrow - Paddle 0 increase - Left arrow + Paddle 0 Turn Right + Right arrow @@ -1036,13 +1036,13 @@ - Paddle 1 decrease - Down arrow + Paddle 1 Turn Left + Up arrow - Paddle 1 increase - Up arrow + Paddle 1 Turn Right + Down arrow @@ -1060,13 +1060,13 @@ - Paddle 2 decrease - J + Paddle 2 Turn Left + G - Paddle 2 increase - G + Paddle 2 Turn Right + J @@ -1075,13 +1075,13 @@ - Paddle 3 decrease - H + Paddle 3 Turn Left + Y - Paddle 3 increase - Y + Paddle 3 Turn Right + H @@ -2934,19 +2934,22 @@

To remap an event:

  1. Enter Options Menu and click the Input Settings button.
  2. -
  3. If you wish to remap emulation events, click the 'Emul. Events' tab. +
  4. If you wish to remap emulation events, click the 'Emulation Events' tab. Otherwise, click the 'UI Events' tab for user interface events.
  5. -
  6. Select event you want to remap and click the 'Map' button.
  7. -
  8. Press a key, a modifier key (Control, Shift...), a modifier+key combination or - use a controller direction or button. Then that key (combination) or controller - action will be bound to the selected event.
    - Notes:
      -
    • If nothing seems to happen, either Stella can't see the input device, or the - selected event doesn't support being remapped to the input device.
    • +
    • Select event you want to remap and double-click or click the 'Map' button.
    • +
    • Now define the input: +
        +
      • Either press a key, a modifier key (Control, Shift...) or a modifier+key combination.
      • +
      • Or use a controller direction, a button or a button+controller direction combination.
      • +
      Then that key (combination) or controller action will be bound to the selected event.
      + Notes:
        +
      • If nothing seems to happen, either Stella can't see the input device, or the + selected event doesn't support being remapped to the input device.
      • +
      • The same input can be used for multiple controller types (e.g. 'Right' for 'P0 Joystick Right' and 'Paddle 0 Turn Right').
      • +
      • If the same input is used again for the same controller type, the old mapping will be removed.
      • Events which are available in both event modes can be remapped individually.
      • -
      • Left and right modifiers are mapped separately. To map them as one, press both - modifier keys during mapping.
      • -
    • +
    • Left and right modifiers are mapped separately when used alone.
    • +
  9. Cancel a remap in progress by clicking 'Cancel', erase the event's mappings by clicking 'Erase', or reset to default mapping by clicking 'Reset'
  10. Reset to default all mappings by clicking 'Defaults'.
  11. @@ -2956,7 +2959,7 @@ -

    There is also a 'Combo' button in the 'Emul. Events' tab, accessible +

    There is also a 'Combo' button in the 'Emulation Events' tab, accessible when a Combo event has been selected from the list of events on the left. Clicking 'Combo' will show a dialog similar to the following:

    diff --git a/src/emucore/EventHandler.cxx b/src/emucore/EventHandler.cxx index 515f21883..1c267d2c4 100644 --- a/src/emucore/EventHandler.cxx +++ b/src/emucore/EventHandler.cxx @@ -1625,23 +1625,23 @@ EventHandler::ActionList EventHandler::ourEmulActionList[EMUL_ACTIONLIST_SIZE] = { Event::JoystickOneFire9, "P1 Booster Handle Grip Trigger", "" }, { Event::PaddleZeroAnalog, "Paddle 0 Analog", "" }, - { Event::PaddleZeroDecrease, "Paddle 0 Decrease", "" }, - { Event::PaddleZeroIncrease, "Paddle 0 Increase", "" }, + { Event::PaddleZeroIncrease, "Paddle 0 Turn Left", "" }, + { Event::PaddleZeroDecrease, "Paddle 0 Turn Right", "" }, { Event::PaddleZeroFire, "Paddle 0 Fire", "" }, { Event::PaddleOneAnalog, "Paddle 1 Analog", "" }, - { Event::PaddleOneDecrease, "Paddle 1 Decrease", "" }, - { Event::PaddleOneIncrease, "Paddle 1 Increase", "" }, + { Event::PaddleOneIncrease, "Paddle 1 Turn Left", "" }, + { Event::PaddleOneDecrease, "Paddle 1 Turn Right", "" }, { Event::PaddleOneFire, "Paddle 1 Fire", "" }, { Event::PaddleTwoAnalog, "Paddle 2 Analog", "" }, - { Event::PaddleTwoDecrease, "Paddle 2 Decrease", "" }, - { Event::PaddleTwoIncrease, "Paddle 2 Increase", "" }, + { Event::PaddleTwoIncrease, "Paddle 2 Turn Left", "" }, + { Event::PaddleTwoDecrease, "Paddle 2 Turn Right", "" }, { Event::PaddleTwoFire, "Paddle 2 Fire", "" }, { Event::PaddleThreeAnalog, "Paddle 3 Analog", "" }, - { Event::PaddleThreeDecrease, "Paddle 3 Decrease", "" }, - { Event::PaddleThreeIncrease, "Paddle 3 Increase", "" }, + { Event::PaddleThreeIncrease, "Paddle 3 Turn Left", "" }, + { Event::PaddleThreeDecrease, "Paddle 3 Turn Right", "" }, { Event::PaddleThreeFire, "Paddle 3 Fire", "" }, { Event::KeyboardZero1, "P0 Keyboard 1", "" }, diff --git a/src/gui/InputDialog.cxx b/src/gui/InputDialog.cxx index 0d2c6c02e..f389789f0 100644 --- a/src/gui/InputDialog.cxx +++ b/src/gui/InputDialog.cxx @@ -59,7 +59,7 @@ InputDialog::InputDialog(OSystem& osystem, DialogContainer& parent, addTabWidget(myTab); // 1) Event mapper for emulation actions - tabID = myTab->addTab("Emul. Events"); + tabID = myTab->addTab(" Emulation Events ", TabWidget::AUTO_WIDTH); actions = instance().eventHandler().getActionList(kEmulationMode); myEmulEventMapper = new EventMappingWidget(myTab, font, 2, 2, myTab->getWidth(), @@ -69,7 +69,7 @@ InputDialog::InputDialog(OSystem& osystem, DialogContainer& parent, addToFocusList(myEmulEventMapper->getFocusList(), myTab, tabID); // 2) Event mapper for UI actions - tabID = myTab->addTab("UI Events"); + tabID = myTab->addTab(" UI Events ", TabWidget::AUTO_WIDTH); actions = instance().eventHandler().getActionList(kMenuMode); myMenuEventMapper = new EventMappingWidget(myTab, font, 2, 2, myTab->getWidth(), @@ -110,7 +110,7 @@ void InputDialog::addDevicePortTab(const GUI::Font& font) const int HBORDER = 8; // Devices/ports - tabID = myTab->addTab("Devices & Ports"); + tabID = myTab->addTab(" Devices & Ports ", TabWidget::AUTO_WIDTH); ypos = VBORDER; lwidth = font.getStringWidth("Digital paddle sensitivity "); // was: "Use mouse as a controller "