How to query for an existing 'xinput map-to-output' touchscreen mapping












2















Is there a way to identify that a touchscreen has been mapped/limited to a display?



Steps I'm using to map:





  1. xrandr --query to get the display name


  2. xinput list to see all the slave devices on the virtual pointer


  3. xinput --list-props {device_id} to get the device node


  4. udevadm info --query=property --name={device_node} to check if a property says ID_INPUT_TOUCHSCREEN=1


  5. xinput map-to-output {device_id} {display_name} to map/limit touchscreen input to a single monitor


If I walked up to a machine that has had these steps performed, how can I verify that the input from device_id was mapped to display_name? Or where can I see that input from device_id is limited to screen area X,Y,W,H?



Thanks,
-Pottenger










share|improve this question



























    2















    Is there a way to identify that a touchscreen has been mapped/limited to a display?



    Steps I'm using to map:





    1. xrandr --query to get the display name


    2. xinput list to see all the slave devices on the virtual pointer


    3. xinput --list-props {device_id} to get the device node


    4. udevadm info --query=property --name={device_node} to check if a property says ID_INPUT_TOUCHSCREEN=1


    5. xinput map-to-output {device_id} {display_name} to map/limit touchscreen input to a single monitor


    If I walked up to a machine that has had these steps performed, how can I verify that the input from device_id was mapped to display_name? Or where can I see that input from device_id is limited to screen area X,Y,W,H?



    Thanks,
    -Pottenger










    share|improve this question

























      2












      2








      2








      Is there a way to identify that a touchscreen has been mapped/limited to a display?



      Steps I'm using to map:





      1. xrandr --query to get the display name


      2. xinput list to see all the slave devices on the virtual pointer


      3. xinput --list-props {device_id} to get the device node


      4. udevadm info --query=property --name={device_node} to check if a property says ID_INPUT_TOUCHSCREEN=1


      5. xinput map-to-output {device_id} {display_name} to map/limit touchscreen input to a single monitor


      If I walked up to a machine that has had these steps performed, how can I verify that the input from device_id was mapped to display_name? Or where can I see that input from device_id is limited to screen area X,Y,W,H?



      Thanks,
      -Pottenger










      share|improve this question














      Is there a way to identify that a touchscreen has been mapped/limited to a display?



      Steps I'm using to map:





      1. xrandr --query to get the display name


      2. xinput list to see all the slave devices on the virtual pointer


      3. xinput --list-props {device_id} to get the device node


      4. udevadm info --query=property --name={device_node} to check if a property says ID_INPUT_TOUCHSCREEN=1


      5. xinput map-to-output {device_id} {display_name} to map/limit touchscreen input to a single monitor


      If I walked up to a machine that has had these steps performed, how can I verify that the input from device_id was mapped to display_name? Or where can I see that input from device_id is limited to screen area X,Y,W,H?



      Thanks,
      -Pottenger







      xrandr touchscreen xinput






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 24 at 18:05









      SpottengerSpottenger

      132




      132






















          1 Answer
          1






          active

          oldest

          votes


















          0














          xinput list-props {device_id} shows all device properties that can be changed and current values.



          Check for a property named Coordinate Transformation Matrix that has a non-default set of 9 float numbers as a value. The --map-to-output parameter calculates the CTM for you and sets that property.



          Default:



          Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000


          After map-to-output example:



          Coordinate Transformation Matrix (157): 0.533333, 0.000000, 0.000000, 0.000000, 0.878049, 0.121951, 0.000000, 0.000000, 1.000000





          share|improve this answer



















          • 1





            Thanks! For anyone trying to associate back to the original display you can: -Multiply the screen 0: current {W} x {H} by the CTM's scaling factor (the 3x3 matrix diagonal) to get the corresponding display's resolution. -Multiple the screen 0: current {W} x {H} by the CTM's translation (the 3x3 matrix last column) to get the corresponding display's positional offset (in the case you have multiple with the same resolution.)

            – Spottenger
            Jan 25 at 18:22











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "89"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1112581%2fhow-to-query-for-an-existing-xinput-map-to-output-touchscreen-mapping%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          xinput list-props {device_id} shows all device properties that can be changed and current values.



          Check for a property named Coordinate Transformation Matrix that has a non-default set of 9 float numbers as a value. The --map-to-output parameter calculates the CTM for you and sets that property.



          Default:



          Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000


          After map-to-output example:



          Coordinate Transformation Matrix (157): 0.533333, 0.000000, 0.000000, 0.000000, 0.878049, 0.121951, 0.000000, 0.000000, 1.000000





          share|improve this answer



















          • 1





            Thanks! For anyone trying to associate back to the original display you can: -Multiply the screen 0: current {W} x {H} by the CTM's scaling factor (the 3x3 matrix diagonal) to get the corresponding display's resolution. -Multiple the screen 0: current {W} x {H} by the CTM's translation (the 3x3 matrix last column) to get the corresponding display's positional offset (in the case you have multiple with the same resolution.)

            – Spottenger
            Jan 25 at 18:22
















          0














          xinput list-props {device_id} shows all device properties that can be changed and current values.



          Check for a property named Coordinate Transformation Matrix that has a non-default set of 9 float numbers as a value. The --map-to-output parameter calculates the CTM for you and sets that property.



          Default:



          Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000


          After map-to-output example:



          Coordinate Transformation Matrix (157): 0.533333, 0.000000, 0.000000, 0.000000, 0.878049, 0.121951, 0.000000, 0.000000, 1.000000





          share|improve this answer



















          • 1





            Thanks! For anyone trying to associate back to the original display you can: -Multiply the screen 0: current {W} x {H} by the CTM's scaling factor (the 3x3 matrix diagonal) to get the corresponding display's resolution. -Multiple the screen 0: current {W} x {H} by the CTM's translation (the 3x3 matrix last column) to get the corresponding display's positional offset (in the case you have multiple with the same resolution.)

            – Spottenger
            Jan 25 at 18:22














          0












          0








          0







          xinput list-props {device_id} shows all device properties that can be changed and current values.



          Check for a property named Coordinate Transformation Matrix that has a non-default set of 9 float numbers as a value. The --map-to-output parameter calculates the CTM for you and sets that property.



          Default:



          Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000


          After map-to-output example:



          Coordinate Transformation Matrix (157): 0.533333, 0.000000, 0.000000, 0.000000, 0.878049, 0.121951, 0.000000, 0.000000, 1.000000





          share|improve this answer













          xinput list-props {device_id} shows all device properties that can be changed and current values.



          Check for a property named Coordinate Transformation Matrix that has a non-default set of 9 float numbers as a value. The --map-to-output parameter calculates the CTM for you and sets that property.



          Default:



          Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000


          After map-to-output example:



          Coordinate Transformation Matrix (157): 0.533333, 0.000000, 0.000000, 0.000000, 0.878049, 0.121951, 0.000000, 0.000000, 1.000000






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 25 at 2:58









          cprncprn

          7541620




          7541620








          • 1





            Thanks! For anyone trying to associate back to the original display you can: -Multiply the screen 0: current {W} x {H} by the CTM's scaling factor (the 3x3 matrix diagonal) to get the corresponding display's resolution. -Multiple the screen 0: current {W} x {H} by the CTM's translation (the 3x3 matrix last column) to get the corresponding display's positional offset (in the case you have multiple with the same resolution.)

            – Spottenger
            Jan 25 at 18:22














          • 1





            Thanks! For anyone trying to associate back to the original display you can: -Multiply the screen 0: current {W} x {H} by the CTM's scaling factor (the 3x3 matrix diagonal) to get the corresponding display's resolution. -Multiple the screen 0: current {W} x {H} by the CTM's translation (the 3x3 matrix last column) to get the corresponding display's positional offset (in the case you have multiple with the same resolution.)

            – Spottenger
            Jan 25 at 18:22








          1




          1





          Thanks! For anyone trying to associate back to the original display you can: -Multiply the screen 0: current {W} x {H} by the CTM's scaling factor (the 3x3 matrix diagonal) to get the corresponding display's resolution. -Multiple the screen 0: current {W} x {H} by the CTM's translation (the 3x3 matrix last column) to get the corresponding display's positional offset (in the case you have multiple with the same resolution.)

          – Spottenger
          Jan 25 at 18:22





          Thanks! For anyone trying to associate back to the original display you can: -Multiply the screen 0: current {W} x {H} by the CTM's scaling factor (the 3x3 matrix diagonal) to get the corresponding display's resolution. -Multiple the screen 0: current {W} x {H} by the CTM's translation (the 3x3 matrix last column) to get the corresponding display's positional offset (in the case you have multiple with the same resolution.)

          – Spottenger
          Jan 25 at 18:22


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Ask Ubuntu!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1112581%2fhow-to-query-for-an-existing-xinput-map-to-output-touchscreen-mapping%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Mouse cursor on multiple screens with different PPI

          Agildo Ribeiro

          Sometime when accessing a menu: “Ubuntu 16.04 has experienced an internal error”