<br><br><div><span class="gmail_quote">On 17/09/2007, <b class="gmail_sendername">Daniel Stone</b> <<a href="mailto:daniel@fooishbar.org">daniel@fooishbar.org</a>> wrote:</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
> ===== Merged states =====<br>> The merged state from the MD follows effectively the same rules as the<br>> current behaviour of the core devices. E.g. if mouse1 and mouse2 press<br>> button 1 and 2 respectively, the MD has buttons 1 & 2 set.
<br>><br>> Button remapping takes in affect _before_ the MD sets state. If SD swaps<br>> buttons 1 and 2, pressing physical button 2 on the SD causes a button 1<br>> press on the MD.<br>><br>> [Daniel, this should work for keyboards as well, right?]
<br><br>This should be fine for keyboards, with the slightly odd semantics that<br>holding down Ctrl on one keyboard and pressing Q on another will quit<br>your app.  As I explained, sending both the individual and merged state
<br>in the event will 'solve' this, but it's a question if these are the<br>semantics we want or not.</blockquote><div><br>You only need to send one event - just let the user choose the behaviour at startup... It would be even cooler to let the user map the behaviour - if they have two two-button mice, let them choose what each button is assigned to...
<br> </div><br>--<br>Igor<br></div><br>