HISE Logo Forum
    • Categories
    • Register
    • Login

    Panel keyPressCallback and focus

    Scheduled Pinned Locked Moved Bug Reports
    27 Posts 4 Posters 1.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ustkU
      ustk
      last edited by

      Trying another bump...

      Can't help pressing F5 in the forum...

      Christoph HartC 1 Reply Last reply Reply Quote 1
      • Christoph HartC
        Christoph Hart @ustk
        last edited by

        @ustk You need to return true from that function so that the system knows it consumed the key stroke. This solves problems 2 and 3.

        The first one is a bit more tricky because JUCE propagates the key focus by default to its first children and it's super annoying to find the spot where you need to disable this.

        ustkU 1 Reply Last reply Reply Quote 1
        • ustkU
          ustk @Christoph Hart
          last edited by ustk

          @christoph-hart Oh cool for the return true thing, it works...

          As for the focus issue, why is the callback called when clicking outside of the object anyway?
          Because the focus is lost as it should when using this.loseFocus();, so why would the callback be called again from a click that didn't occur onto the panel?

          Can't help pressing F5 in the forum...

          Christoph HartC 1 Reply Last reply Reply Quote 0
          • Christoph HartC
            Christoph Hart @ustk
            last edited by

            @ustk it will get executed as soon as the panel gains focus and clicking on it is just one of the possibilities (Eg. Tab key cycles trough the siblings)...

            This is deeply embedded into JUCE and debugging this is super annoying...

            ustkU 1 Reply Last reply Reply Quote 0
            • ustkU
              ustk @Christoph Hart
              last edited by

              @christoph-hart said in Panel keyPressCallback and focus:

              This is deeply embedded into JUCE and debugging this is super annoying...

              馃槵 please tell me it's doable
              Or we can say goodbye the entire API 馃檮

              Can't help pressing F5 in the forum...

              Christoph HartC 1 Reply Last reply Reply Quote 0
              • Christoph HartC
                Christoph Hart @ustk
                last edited by

                @ustk it's definitely doable (probably a one line fix at the right location), but finding it is the hard thing...

                1 Reply Last reply Reply Quote 2
                • ulrikU
                  ulrik @ustk
                  last edited by

                  @ustk said in Panel keyPressCallback and focus:

                  I tried several fixes with no luck. It seems that the focus is lost as it should but when clicking anywhere in the interface editor, the first component automatically gets it back.

                  This works okey

                  It has 5 Panels just for testing
                  At init, all Panels will be set to the same KPC, PR & MCB

                  for (p in Panels)
                  {
                  	p.setPaintRoutine(PR);
                  	p.setMouseCallback(MCB);
                  	p.setKeyPressCallback(KPC);
                  }
                  

                  then in MCB

                  if (event.clicked)
                  	{
                  		for (p in Panels)
                  			p.setKeyPressCallback("");
                  	}
                  

                  and in

                  if (event.clicked && event.shiftDown)
                  	this.setKeyPressCallback(KPC);
                  
                  HiseSnippet 1507.3ocyX80aaaCDWJIpsxaEaEXe.37CExXIN1IY8OIXXwwwoKHModwoEqurBFIZK1HSpQRkTih.rG19Jrm2CaeE1yCaeg12fsihx1xNxooAsC0.Iv7t62we7tijGcaA2mHkbgks6QChIV1erSmALUXyPLkYs61V1kbNgLHV.VYs0fXrTRBrrsm+QZ81tKXk94e95svQXlOYrHKqmwo9jGS6SUik1dy8nQQ6fCHGQ6my501bWeNqIOhm.bYdmZVwX+Sv8HGf0lMmik8MZEPUbQGEVQjV1KrEOXPmP9YLi8OiJoGGQzCpa0AbjQ7N7n.Mi0RsZFRiBZObMKs.uzdbDXdSD3yb1mFPGIebj3SSUfFiHe7vdtIo27SPu54oWsbzq.JYmiRKXnzcb53KnwpwZz74ib1koHhtXHrmmJFasl6utoSSNXASUsO9DxNBXvHDd2qVsEQv+prQoRPnWpPmhEn1XFIRh9JzPj8HpFQQM48i4LXrzqbpIk0vxv09PvdutILeEky75UozqK41qZWHQCP8LIUY0ynpvFQwg3QR5IHCVDUq5JU.u4pwHIJixwnBoJhVcupAB7YMhn8XjfiHuR4oBoRM+dFNJg3UYQzPAOl6ii1hmvBjd0.4k8AlKHAkm8zf+gDberfxtr4J.qvUUvvq1TU57bAo8at0DQIxofgoQJZWjYTU+Hp+IjfJkbAwtc4BjWLhxxRJfXW2XM22iLnsdCYSbTzwv1Duxoqry0KtK3MzcuKxHPFR6p1FpHylfz0PQtau1MM9yr.VdY2GQXDANBMsotKMqOYKavUSrr4G+xJH8pFpuj7HR0XHlCgWgtjTqTOwzt5uVkJ2g6mHgMfrdj7bNMODhMpA2qMd3PSb.BWDC.IT14Gl5O3brl7.smR03t7xnVcZ1ncq0QaShHJBjUg+f7qVqOVRPqb+0QSl5goqb4MPZKbOVPvmrQlqNr0QO8vCP6054qidYBrzi3RiG6p40HWVe0LWp0mRYuJo9P6jugHHHHkjhiQNC1SB01HEGUVio7hHnn.l0.TWAuepUwvwSBdhBJcS8xvrpYWQLVHI6xlt.tR1TVzZKUQgEeWd42zAjsZzbuNsazDBuGR5yO0DLhvPnwODCIb3jnwQEcj9hg5IETUlbrTAEL87ps3z5hHrdpvkpeApXRjq7fKjI+BX492+V4Bsu9CuWw1+Skmg+eXw1+6yx+2uX6+4Y3+0lAe9iYXe80J19eobAopFwwDV.ByFfXb1RxXhOE1sOQZJfzEmDoVGA6N+b81oLqfpgrhC2KNeZ6F4kMz1.ldd5VT3ao1KH5JXkm4rYAQkHXHkHgrg43mKVIBadSqCaqwcnoz2q8gZGjJeedhjLp3DN3cjlYbR24COdBwYGvUjmv7RmkRmWBMsptcKTm95RAOJhHJTstYGwkAzikz+XhXQyF9QFBc.LYaENytsh7c83at8Nmgb1tLp5IPddV8BYkckOzBhSFq.SUoMfb6gMfnSAVTnMia5X9dJey20m0aF6sLXqOMXuMu5fWYJv+42+V.d0Qfuwqeqo8ZiAWxMC7S2canrW27VVPDBrwDghpyY1aSNE5D1zJmqy1D4IJdbZTNqqJP7aJN+pwgI5lCxO3LZfJbrfmuYHg1KTkWBTtyOaXQOvnOwAZLCMVfDeJbIgdqAAvYOWe7qxC25pPzQI0wP+wu8CYltxLioG8AFSWMGS+U0Gxwz0lYLU8+ASu3Kmf2rwCRhvpIeHm90qYJfigm30S5WHwjT0f7ut8c1q6tpT7NNs08sVLGmq.NBm879fiYuI91Ns51k3qFSvEb146d+7.XKyU581GCs5A4WmCR52AdjlOQ+R.cK.fL64zGYaFWSOVGA5.MwjN3egOYJqqGamor9PkV8w9B9K7Mm4qe08sRk.bhk9CN35rudLZzcTNN0pVypOMf9Bee8xeI3Nzhwrx0.ypWCLqcMv7kWCL26Zf49WCLO3Rwn+sWZjn38MaG.AsakdoqscKFFprRqBs9OJy5GYB
                  

                  Hise Develop branch
                  MacOs 15.3.1, Xcode 16.2
                  http://musikboden.se

                  ulrikU 1 Reply Last reply Reply Quote 0
                  • ulrikU
                    ulrik @ulrik
                    last edited by

                    @ulrik a better example

                    HiseSnippet 1529.3ocyXEraabCDcWauIYUaPa.5G.qNDrB0VVx1MNwFs0xxxoFN1Q0xIn4T.8tTZY7JxsjbsiPgAxg168TO2Cs+B8Gn+P8RO2Nj6JoUxqbcLZJh.rg3Lya3iyLjbnZK39DojKrrcOdPLwx9Cc5LfoBaFhoLq81wxtjyojAwBvJqsGDikRRfks87OVq21cAKym+7q1FGgY9jwhrrdNm5SdBsOUMVZ6s1mFEsKNfbLseNqWaq874rl7HdBvk4cpYEi8OE2ibHVa1bNV12pU.UwEcTXEQZYuv17fAcB4myRs+4TI8jHhdPcqNfiREuKOJPyXsTqlgznf1CWyRKvKsGGAlOMB7INGPCnijONR7wFEnwHxGOrmaR5M+Dzqdd5UKG8JfR14nzBoT5dNc7EzX0XMZ97AN6wTDQWLD1ySkTasl6utsSSNXASUsO9TxtBXvHDdOnVsEQv+prYoRPnWpPmgEn1XFIRh9BzPj8HpFQQM48i4LXrzqrwjxZXY3ZeDXuW2DluhxYd8pT56K41qZWHQCP8RSpxpmSUgMhhCwijzSPFrHpV0Up.dysjKsKxSERkUCvJbUE40ppQDVOUH5KQ0pTxEbK3WIQk5fQ9A+cI39XAkQz9ALIPfOuQDsGiDbL3kob5hHyXXk8DtONZadBKP5Uqxhnx9vRTPBzqN2KJ4BgBxrm1yCopqbFgY343nDhWkq8TdQt35AM2dh.K4LvTSvUGnLip5GQ8OkDjEb5xEHuXDkkkGAwttwZpuOYPa8d3l3nnSfcVdkGtFKvan6eeTp.YHsqZGnHNaBLqhhb29saleAr7xtOlvHBbDZZScWZVexV1fqlXYyO4UUP5UMTRJ4QjpwPlFhvBcUrVodhoc0esJUtK2OQB6YY8H44rI4GhSUCtWa7vgSmqkPkpenwevQeM4AZOYz3t7xnVcZ1ncqMP6PhHJBjWg+fLtVqOVRPqr9FnIq2foqb4MQZKbOQPvmtYlqNp0wO6nCQ625EafdUBrzi3xTO1UyqQtr9pYtTq2PYOSYmwIeMQPPPJwfiQNG1FCkbHEGUVio7hHnn.l0.TWAuuwpX3DMAOQAaXLdYXVMsXMFKjj8XSuqoR1TVzZynnvhuqt7a5.x1MZtem1MZBg2iH84mkFLhvPnwODCIb3vqwQEcj9xg5oN.QlbhTAEL87psHpvCWVp9knRZhbkGdoL4mAK2+3WKWn80ezCJ19en7L7+iJ19eaV9e8hs+Gmg+WaF742mg80WqX6+4xEjpZDGSXAHLa.hwYKIiI9TX29Doo.RWbRjZCDr67S0amxrBpFxJNbu77osajW1TaCX5Elsnv2L1KH5JXkW5sFBhJQvPJQBYyzietbkHr40TG1Vi6nzReu1GocfQ9A7DIYTwIbv6HMy3jtKFd7DhyNjqHOk4YlkRWTBMsptcKTm9FVAOJhHJTst+HwUAzikz+DhXwzM7iLDZZXxNQblcmH4aTxO8B+bFxY6wnpmB44Y09jUVWBPWKNYrBLUY5Y4tC6YQmBrnPmI21I86F9Bs9cq2b2rNE+2wdmTr0GANquQust9fWYJv+TxaA3UmdlW+s.7ZSCd+srd1d6.k8598xBhPfMlHTTcNydGxYPyyoc+45rCQdphGahxYMhAh+2hyud77Q2ZP9AmSCTgiE7hsBIzdgp7Rfxc94CK5AF8QNPubnwBj3yfKIzaMH.N645iecd3VWGhNJoNF5a9l2mY5JyLld76YLc0bL8WTuOGSWalwT0+GL8xO1BdlGOHIBql7se5G7lo.NFdhGboeTESRUCx+f3+ydP30kh2yostu0h43bEvQ3rm2EbL6Yz20oU2tDe0XBtfyte66l2LakdkduCvPqdP904vj9cf2n4SzuDP2B.HydN8MMoiqoGqi.cflXLC9a3Slx55w1YJqOToUeruf+R+zy70OT+NFI.mXleiBWmCziQitixwoV0ZV8oAzW56qW9KA2gVLlUtAXV8FfYsa.lO+Ff4A2.LqeCv7vqDi9mqoQhh2Oc6.HncKykt11sXXnxxTEZ8ODo3tTM
                    
                    

                    keypress.gif

                    Hise Develop branch
                    MacOs 15.3.1, Xcode 16.2
                    http://musikboden.se

                    ustkU 1 Reply Last reply Reply Quote 0
                    • ustkU
                      ustk @ulrik
                      last edited by

                      @ulrik that's a cool hack, however I am not sure it is safe to kill the CB from within itself...

                      Can't help pressing F5 in the forum...

                      ulrikU 1 Reply Last reply Reply Quote 0
                      • ulrikU
                        ulrik @ustk
                        last edited by ulrik

                        @ustk Yeah it feels a bit risky, I wish it could work as it's supposed to
                        I could need it in a project

                        Hise Develop branch
                        MacOs 15.3.1, Xcode 16.2
                        http://musikboden.se

                        ustkU 1 Reply Last reply Reply Quote 0
                        • ustkU
                          ustk @ulrik
                          last edited by

                          @ulrik I'm waiting for a proper implementation for my current project so I won't risk a bug, the release is soon...

                          Can't help pressing F5 in the forum...

                          Christoph HartC 1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart @ustk
                            last edited by

                            @ustk I think I've found the spot where to put that line. On the other hand, it's bad coding week, so nobody knows what I'm breaking with this :)

                            Link Preview Image
                            - fix keyboard focus traversal to first script component 路 christophhart/HISE@cbdab1d

                            The open source framework for sample based instruments - - fix keyboard focus traversal to first script component 路 christophhart/HISE@cbdab1d

                            favicon

                            GitHub (github.com)

                            ulrikU LindonL ustkU 5 Replies Last reply Reply Quote 2
                            • ulrikU
                              ulrik @Christoph Hart
                              last edited by

                              @christoph-hart Yes, but it can only get better now, right? ;)

                              Hise Develop branch
                              MacOs 15.3.1, Xcode 16.2
                              http://musikboden.se

                              1 Reply Last reply Reply Quote 0
                              • LindonL
                                Lindon @Christoph Hart
                                last edited by

                                @christoph-hart said in Panel keyPressCallback and focus:

                                @ustk I think I've found the spot where to put that line. On the other hand, it's bad coding week, so nobody knows what I'm breaking with this :)

                                Link Preview Image
                                - fix keyboard focus traversal to first script component 路 christophhart/HISE@cbdab1d

                                The open source framework for sample based instruments - - fix keyboard focus traversal to first script component 路 christophhart/HISE@cbdab1d

                                favicon

                                GitHub (github.com)

                                perhaps more testing before commits?

                                HISE Development for hire.
                                www.channelrobot.com

                                1 Reply Last reply Reply Quote 1
                                • ustkU
                                  ustk @Christoph Hart
                                  last edited by

                                  @christoph-hart trying to build...

                                  Can't help pressing F5 in the forum...

                                  1 Reply Last reply Reply Quote 0
                                  • ustkU
                                    ustk @Christoph Hart
                                    last edited by

                                    @christoph-hart So that seems to work. But can't we lose focus when clicking anywhere outside of the panel?
                                    If not, then it's not much of a big deal since hitting "enter" works

                                    Can't help pressing F5 in the forum...

                                    1 Reply Last reply Reply Quote 0
                                    • ulrikU
                                      ulrik @Christoph Hart
                                      last edited by

                                      @christoph-hart this was what I needed, thank you 馃檹

                                      keypress.gif

                                      Hise Develop branch
                                      MacOs 15.3.1, Xcode 16.2
                                      http://musikboden.se

                                      Christoph HartC ulrikU 2 Replies Last reply Reply Quote 0
                                      • Christoph HartC
                                        Christoph Hart @ulrik
                                        last edited by

                                        @ulrik Then let's hope it doesn't break Lindon's computer :)

                                        ulrikU 1 Reply Last reply Reply Quote 0
                                        • ulrikU
                                          ulrik @Christoph Hart
                                          last edited by

                                          @christoph-hart 馃ザ

                                          Hise Develop branch
                                          MacOs 15.3.1, Xcode 16.2
                                          http://musikboden.se

                                          1 Reply Last reply Reply Quote 0
                                          • ulrikU
                                            ulrik @ulrik
                                            last edited by

                                            @ulrik said in Panel keyPressCallback and focus:

                                            @christoph-hart this was what I needed, thank you

                                            I think I was a little bit to entusiastic before 馃

                                            It works great as long as the panels not are childs of another panel.

                                            As usually organise my components in containers (panels) and to get this focus thing to work, I have to have all panels at the same level.

                                            Is there a way to get pass this limitation?

                                            keypress.gif

                                            HiseSnippet 2036.3oc0Y0uaaajDmz1LWn50qs.2eb2+sU3PAErrrjSaZfUSpjkkKLbrifkSPCJtqXM4Jo0ljKK4J6Hb0.2iVdQNf6Q3dCta1OH4JYYGWm1hVAaCsyNe7a1Y1Y2Y8fTlOIKikZY6dxrDhk8ezY3rX9jdSvzXq820xthy4jYIo.WV6LKAmkQBrrsW8aDya6tlk7y+8q2AGhi8IkjrrdEi5SdNMhxKoNnyAzvv8vAjSnQFb+4c12mE2iExlBXYUmlVIX+ywiIGgErshik8C5GP4rzgbLmjYYu1NrfYCmvtLVw+qnYzSCIhAsrFBJRQdOVXf.wBpV8lPCCFj6yYVfVFTtBrpZE3O6bHMfVPubk3ikSfJkvb8vdk4g2pyAuVlvqoA7VBjrMfzZJH8INC8SoI7xYD34Cb1OlSRGggkcSnn30Zk+8G3ziAbDyaDgOmrWJLnPBuG2rYcD7mZsqTAV5y3nKvonA3XRXF5onbIGS3cCC6whRXwv3LupRVpJDSK2fiA98FMM1mSYwdiqU4eVwcbiQPfFD0SETyZbIkOoaXxDbAkwojY0QMarUMPatUbgeniPd7IzrFAXNtAm7FdiPR7X9DzyPMqUwEzLn5LBWoiBUg+go3HbJMlHTEvRPJ9xtgzwwjfS.srfRqijiAm64Leb3NrowAYdMqUGU0G7xTRfvAcuphKrZPtYyd4DJ+VsHXgWgCmR7pc2M4hqBSvY6w7mlUqvLGKDlDbLwmiiGGR7VlpaApdq5nVfVuxHZcXuclKbQt.rtLjIrpbTC+Pp+4j.zO9iHEAvni0q9WiKArbKQaDaZFYWHuGrxBKAskgXCMnUqTuJUDxxHRmUwsqHm7Bgz4ZaAartop9VXHZCCH+ZkRjBlkCCo5LlveBrFRBTF7JiHfVOrov91dBeUuBrLfNuIx8aupAjQ3ogJxUqoCvt5.xla59MjXRJNDc.Y1.QM1d3vvSgJetabSezgwCFzatvH6zypgDQwTxXDnIvnsUNhXpFTUJTOouVqhY.KO8BTmfy7gpfUY5eFr+0ehTYvAB8XAjhHmONif15K21cyMQ8G1q6f9ai1kDR3DHlA+B6FPe1mgJVxDx3N+FRv3Uq1tbhEyCbOMkfOucg0Z8Ho0Nt+Iu73iPGz+0aKUuzdijdCNN.AADU1ysnX0ZEXeHdsWHCyg5jQC4PojwKTznlA9JB0JwMmZY9zhnWuXsS2dGLbP2dv50wjH1EJ7Ghg3KjUlh8gh0R4udYQzm9TjnHvHnjmZKnJVrDPrP8zromlobul0QKsV6Fsz9yUK.d.xcSRHvJKNdFJlEuQVBwmB4uyAWcR+1Zn68ohjFMmPhdskhy0UoeEJpsfmhcjv2t1lUQtNeZZLhmNknKxMhkh7RPzX8IYxBaIhv0.3XbNT3jCKXdCNVn.I8CE0Rx214AUGKlYw8jdvdthIEmOlxBKliEqLnltnnakJz3PvZn7MonEXxyO+X05pzTIZEBpJMvQiDIjn3oQmRRQifDSjJzsjxCWyXKIeVIrzJghSJPwjKSvov8FZmSonzQACJgxSlUjk3ZYS.0YjP9onQXnzQo.B1ZUxGbgx5nDVFXobR7nDfIkRgrkPJT9rQ0ZsKNPLJo7t.sz0hA8HxviR9tl+cQJpPkZBsjDJAjJKY9yzWT7qC+hSCzSosqLOiB70rMhh9JoqnQGPX80k43BmdTCndsOF7klUyO.DrpLOuKGN+G8TXkoYUzWiTfQLY4VzV0kDTZtFZacEE3GyHiTgJyH.RtcTqqfr.KErmiREKR+3LkebF3GvjvWT3WVOQ35kxpQ8Y4nV5lp5Nl3oTfRO4r0AeYQTnqyb1FaH+hrdiJ5XV24pBOVkrJ7XwWfKyVhsZnMKoN5Z2daoBqkLOLqKmXro3p1F6cOhwIuH1KeSJZwoFMZoyo2rGRRW5zh9fRuMA8Ta+WnDABZNX9NNbt4NNLaHxWcwdCFYw6GS4u.pqeSsIYo6F.5N4AZTArxk8l7g48lHprYQgNPdni76egkDvlcDZcmE9wuOB+j6kv+AkvuOFt06ivOZIB+x82ENfTzTnNB.QkDRJmJB316Rt.5vV0hnqytjry4rDHQnnaMvotIip5MDNSjjZ8lBa9u9tNyJAveqykz.9jBBu8xNSHzwSL5mm1AZ.JJuuc2G71291lB51qY.hJuyLECDfMQvyV.AVu9ZH30cfifYWlePLrt7QNPamnRBY3Kfc6hixIfb1qDgeio3vdc.kFv0bow5mfa7XC2.V698pa7DC23+j7aV2vcd2343S0twexjRKyXhk0LyAuyj6mc6nQbsUK6+hy9GMb+c6iFz8n9OG06EGcR28Op+wVDn5LVV.1dUSf+v6Dv25l1U1Ioyc.3Jr8WcdwKO4mD3beWUGKQUGlApPo+Jjabm.ZQoXCQ+G+VFoOx.oPr7Wajd8Wa7icNjELMDym+wOEu3qdB39Iy8hihWULNixmY9hv+r8hn2UH9INCDOQwxw3JKAivwT+RfQ86H+gN8GMh3yKA3ZN68s+x7nwVpFaGeHFtQKDecNZZzP3HYeh3EeDsbBzrWQbcD03lhwhUfgP27xA+O3idxVhw15IakOoUD1Ok889p6yHdo5GJo.XJV9H8tNGJFiJtEjiSyFMshnAzu22W39a.Wtb4xr08PlGcOj4yuGx7E2CYd78Plu7dHyStUYD++J5NkyhTaG.BC5KuPosc+XQ4eYVn0+G7q0a7E
                                            

                                            Hise Develop branch
                                            MacOs 15.3.1, Xcode 16.2
                                            http://musikboden.se

                                            ulrikU 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            25

                                            Online

                                            1.8k

                                            Users

                                            12.1k

                                            Topics

                                            105.5k

                                            Posts