Announcement

Collapse
No announcement yet.

BMW i-bus and ibuscomm

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • BMW i-bus and ibuscomm

    Hello,

    I need help with the ibuscomm program. I have a BMW e39 that I have integrated a resler ibus adaptor into. I have set up and tested ibuscomm and the program reads my steering wheel button presses, which I have assigned to certain keyboard presses/hotkeys. However I am trying to get this to now work within the DriveLine frontend. The hotkeys set in DriveLine and those I have mapped to the steering wheel buttons both match, but ibuscomm just wont control DriveLine.



    In the ini file I tried setting the AppCaptionSendEventTo line to:

    AppCaptionSendEventTo="DriveLine" (this would make ibuscomm hang in taskmanager and would not open to the taskbar, even with DriveLIne open. I read that when it does this it is waiting for the application you set for it to control to open and if that application is already open, then you must have set the windows title wrong.

    and also tried AppCaptionSendEventTo="" (this produced "error opening com port" when I try to open the ibuscomm exe)

    and just removing the line completely (as I read in another thread that if you remove the line ibuscomm will stop looking for a specific application that you preset to control and will control any program that is in focus. Setting the ini file like this made ibuscomm open and read the button presses/codes properly, but just not seemingly link to DriveLIne)

    However, whatever I write has the same effect of ibuscomm not pairing properly and DriveLine will not respond to the button presses.



    Can someone tell me, are any of the lines written correct or should I use some other code to tell ibuscomm that it needs to pair with and activate DriveLIne?

    Or, do I need to tweak some of the other settings within the ini file too?



    I had a read through the best thread I could find on the ibuscomm and how to make it work (http://www.mp3car.com/general-hardwa...o-connect.html) but this does not help me fix the problem

  • #2
    Have you made your ibus setup work with other front-ends or other applications prior to this?

    The way DriveLine works, it registers hotkeys globally within windows. Even if the keys are not sent specifically to DriveLine, it should still pick them up.

    The hotkeys that DriveLine registers are:
    CTRL+M to toggle mute
    CTRL+Plus to increase volume (in 10% increments)
    CTRL+Minus to decrease volume (in 10% increments)
    CTRL+RightArrow for Next
    CTRL+LeftArrow for Prev
    CTRL+H for HomeScreen
    CTRL+S to cycle through media sources.

    I'm not familiar with ibus, but my suggestions are:
    Send me the ini and I will take a look at it.
    Try sending your keys to "Explorer"
    Try sending your keys to "DriveLine_InvisibleForm"
    It could be an issue with the way you're specifying the 'CTRL' part of the key command.

    It sounds like ibus is using 'SendKeys'. I don't know if the hotkeys registered in DriveLine will pick these up as actual keyboard presses.

    Have you tested the functionality within DriveLine using just a regular keyboard?
    Last edited by ClockWorK; 08-17-2013, 09:11 PM.

    Comment


    • #3
      Clockwork, I have also been testing the keys using the keyboard within DriveLine and this works fine.

      I have tested the ini file again to try and see if I can get the buttons to either activate commands or just write letters into Notepad. I seem to have got the exe file to recognise and focus on notepad by using the line AppClassSendEventTo="NOTEPAD" (does not work with line AppCaptionSendEventTo="NOTEPAD" and will hang in the taskmanager waiting for the correct program to open, like previously mentioned). With this line added the exe file will open fully and not hang waiting. When I then use the program to simulate the button presses notepad is forced to the foreground, so it seems to be communicating to a certain extent. However notepad will not pick up any commands I have set for the keys (e.g. cntrl+p should bring up the print screen, or just assigning normal letter keys to make a p display when the button is pressed, for example).

      This is the ini file I have changed about a little in my test attempts, along with the ibuscomm exe program that can simulate the button assignments (don't know if it works without an adaptor plugged into a com port though)
      Copy of Ibuscomm.zip


      Any help is appreciated

      Comment


      • #4
        One of the plugins I have in development in other frontends is an iBus one. (it's be my own take on it so may be different from ones already in RR and CF.)

        But, it will probably be a while down the road yet before it get released for the other FE's let alone DL.

        Comment


        • #5
          I used the Joycon EXR USB interface to connect my steering wheel control line. It works flawlessly with Driveline. I had to assign key strokes to each button press I wanted to use, but after doing that, the Joycon turns those button presses into keystrokes, that Driveline recognizes.

          I assume that ibuscomm works the similarly, so it should just run by itself, and translate any steering wheel button presses into windows keypresses. So all you need to do it figure out how to make ibuscomm output the keystroke combinations Driveline recognizes...

          Example:

          You press the volume up button, and ibuscomm must output keystrokes "Control" and the "+ key" at the same time.



          CTRL+M to toggle mute
          CTRL+Plus to increase volume (in 10% increments)
          CTRL+Minus to decrease volume (in 10% increments)
          CTRL+RightArrow for Next
          CTRL+LeftArrow for Prev
          CTRL+H for HomeScreen
          CTRL+S to cycle through media sources.

          To see if it's working, open a browser window, press the volume up button that should be programmed to output CTRL+Plus, and the browser font should get larger like it is zooming in, then press CTRL+Minus, and it should shrink the fonts like zooming out. If that happens, then those same button presses will raise or lower volume in Driveline.
          Last edited by rray; 08-18-2013, 08:55 AM.

          Comment


          • #6
            Have now tried to get this to work in a browser window as rray suggested. Still the same problem. If I assign a browser program name to specifically work with ibuscomm then it hangs in taskmanager. I used "MOZILLA FIREFOX" and just "FIREFOX". Neither terms worked. If I leave the line blank then ibuscomm will open, but the button presses do not operate the browser window. From the notes in the ini file I believe I have written the correct combination of command to make the +button translate to control+plus (^{+} in the ini file) and the -button translate to control+minus (^{-} in the ini file).

            Comment


            • #7
              So far that's a positive, in that the problem is not with Driveline, rather it's figuring out how to setup the IBusComM.ini file. I looked at the ini, and it describes the CTRL+Plus command would need to be "^{+}" so you need to include the parentheses around the ^{+} .



              ; The plus sign (+), caret (^), percent sign (%), tilde (~), and parentheses ( ) have special
              ; meanings to SendKeys.
              ; To specify one of these characters, enclose it within braces ({}).
              ; For example, to specify the plus sign, use {+}.

              ; To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys
              ; are pressed, enclose the code for those keys in parentheses.
              ; For example, to specify to hold down SHIFT while E and C are pressed, use "+(EC)".
              Last edited by rray; 08-18-2013, 10:05 AM.

              Comment


              • #8
                Rray I have already done this. This is how i have the command for control+plus written

                "^{+}"

                And the command for control+minus is written as

                "^{-}"

                If you were looking at my file i posted above, this was just a test where i changed about what i wanted the buttons to do to test in notepad to see if i could get the button presses to do things like bring up the print screen or just type a letter.

                Sent from my HTC One X+ using Tapatalk 2

                Comment


                • #9
                  What OS are we using? It's not a user rights issue is it? just a thought SNO

                  Comment


                  • #10
                    Test with notepad for now. Try specifying Ctrl+P exactly like this:
                    ^(p)

                    Once we get a single command working, we can do the others.

                    Comment


                    • #11
                      Using windows xp

                      Sent from my HTC One X+ using Tapatalk 2

                      Comment


                      • #12
                        Originally posted by ClockWorK View Post
                        Test with notepad for now. Try specifying Ctrl+P exactly like this:
                        ^(p)

                        Once we get a single command working, we can do the others.


                        I have tested this again with notepad and the command written above ^(p)

                        This still does not work

                        Comment


                        • #13
                          It looks like there are lots of websites devoted to hacking the IBUS, but it would take too much research for me to go any further at this point.

                          http://www.bimmerboard.com/forums/ibus/

                          http://autos.groups.yahoo.com/group/HackTheIBus/

                          http://www.alextronic.de/bmw/project...info_ibus.html

                          It looks like there are several versions of these adapters too.

                          http://www.reslers.de/IBUS/index.html

                          Comment


                          • #14
                            Originally posted by rray View Post
                            It looks like there are lots of websites devoted to hacking the IBUS, but it would take too much research for me to go any further at this point.

                            http://www.bimmerboard.com/forums/ibus/

                            http://autos.groups.yahoo.com/group/HackTheIBus/

                            http://www.alextronic.de/bmw/project...info_ibus.html

                            It looks like there are several versions of these adapters too.

                            http://www.reslers.de/IBUS/index.html

                            The hacktheibus forum is already known about, but it is unfortunately defunct and you cannot access it.

                            I will have a look through the bimmerboard forum to see if anything there helps. This is just so frustrating as it seems i am so near but so far to getting this to work properly. The ibus adaptor works and reads the button presses as it should. It is just getting the ibuscomm program to link up with the applications now.

                            I am using the latest resler usb ibus adaptor by the way

                            Comment


                            • #15
                              Ok, i have looked through the bimmerboard forum and nothing helps me.

                              I have spent a long time trying to get this problem sorted.

                              I have made tests with notepad and firefox browser.

                              I can get ibuscomm to open with these programs when i specify them in the ini, but i cannot get the ibuscomm program to properly talk to the application it is trying to control.

                              When i simulate the button presses the focus goes to the application window (i.e. notepad/firefox) but it wont do anything other than make the window smaller as if you pressed the maximise button with a mouse if the screen is already full size.

                              Once i got firefox to open the print screen with an error and then it wouldn't open it again no matter what i tried.

                              Can anyone help, as this is getting frustrating and I am not the best with coding.

                              There must be someone out there who has had similar issues and got this fixed or may be able to steer me in the right direction

                              Comment

                              Working...
                              X