Announcement

Collapse
No announcement yet.

Send front end commands to ICE3

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

  • Send front end commands to ICE3

    Hi guys,

    I'm posting a New thread about the ICE3 commands.

    I was wondering if you guys or creator would like to share the commands it uses to change screens (cube like). The point is, I hacked up a PS3 alike USB controller with some OEM buttons in my car.

    I now need to link each buttons to a ICE3 command but I can't seems to find what the creator used.



    Here's an example:
    MAP/GUIDE = switch to space 3 (where Fusion run iGuidance in full screen) OK
    MENU = switch to the ICE3 HOME (need the command)
    SETUP-INFO = Setup would switch to the settings page; Info don't know yet lol
    ZOOM = I will probably use this into iGuidance...will have to check if possible to reroute command to VMFUSION
    CANCEL = back to previous screen; if possible
    AUDIO = switch to audio ICE3 screen
    CENTER = will be right,left,up & down (act like arrows or mouse)

    I hope to get some help on this even the forum seems empty even if the creator as showed up some life sign couple weeks ago

    FYI I'm using Controller Mate to customize the commands from the USB controller. Really easy to use and pretty useful.
    VmtSquad - I sold my soul to Honda!
    Final Install
    CarPC progress: 95%

  • #2
    I think keyboard commands are coming in the next version(hopefully soon). For now you might only be able to switch between Spaces and control iGuidance

    Comment


    • #3
      Hmmm....isn't there a way you can call the software buttons onscreen if you only know their name? I thought you could use gui scripting and there was an inspector tool you could run that would tell you the name of the object (button) on the screen.

      Using applescript, you could issue a command to that button.

      It might be better to wait for keyboard commands but that is one way to do it.
      Originally posted by ghettocruzer
      I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.
      Want to:
      -Find out about the new iBug iPad install?
      -Find out about carPC's in just 5 minutes? View the Car PC 101 video

      Comment


      • #4
        Sounds interesting. That would work for me too since my TS glass is broken. Is that something in Xcode bugbyte?

        Comment


        • #5
          Originally posted by Bugbyte View Post
          Hmmm....isn't there a way you can call the software buttons onscreen if you only know their name? I thought you could use gui scripting and there was an inspector tool you could run that would tell you the name of the object (button) on the screen.

          Using applescript, you could issue a command to that button.

          It might be better to wait for keyboard commands but that is one way to do it.
          Remember the name of that inspector tool ??

          If the creator would chime in...it would all comes together for good
          VmtSquad - I sold my soul to Honda!
          Final Install
          CarPC progress: 95%

          Comment


          • #6
            Here is a nice tutorial on how to UI script. And here is where you can get the UI element inspector tool.

            Also, you can probably poke around inside the ICE3 app using XCODE and the interface builder to determine the names of some of the buttons.
            Originally posted by ghettocruzer
            I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.
            Want to:
            -Find out about the new iBug iPad install?
            -Find out about carPC's in just 5 minutes? View the Car PC 101 video

            Comment


            • #7
              ^^WOW thanks BugByte, as usual always have some great answers/solution for US. I'll work my way arround with this. It's really simple to use I may have to WRITE on this forum about this, it will simply revolutionate the MacCar frontEnd lol

              FYI: I did poke inside ICE3 and I got all commands I needed in 2 minutes lol...this tool is simply AWESOME. Now I need to script this and assign some commands to those codes...and finally assign that command to my hackedup USB controller

              This post made my day thanks again! will keep u guys updated!
              VmtSquad - I sold my soul to Honda!
              Final Install
              CarPC progress: 95%

              Comment


              • #8
                UI Element Inspector

                OK! I was so Happy that I took some time to analyse this. I have some good knowledge into scripting and this is the most basic scriptin I did to this date (except GUI VB lol)

                Here's how I did:

                1) Get the command needed; AUDIO CoverFlow
                - Use UI Element Inspector and point your mouse over the button
                - Freeze the UI Element Inspector to copy and paste the description into a file
                - Analyse the description
                AUDIO (coverflow)

                <AXApplication: “ICEł”>
                <AXWindow: “”>
                <AXGroup>

                <AXButton: “Coverflow View”>

                Attributes:
                AXRole: “AXButton
                AXRoleDescription: “button”
                AXHelp: “(null)”
                AXEnabled: “1”
                AXFocused (W): “0”
                AXParent: “<AXGroup>”
                AXWindow: “<AXWindow: “”>”
                AXTopLevelUIElement: “<AXWindow: “”>”
                AXPosition: “x=-3 y=478”
                AXSize: “w=170 h=250”
                AXTitle: “Coverflow View”

                Actions:
                AXPress - press


                - Use the usefull information from that command to create a script...
                - Open script EDITOR and type this
                Code:
                tell application "System Events"
                	tell process "ICEł"
                		click button "CoverFlow View" of group 1 of window 1
                	end tell
                end tell
                I pasted all useufull info in BOLD so that you guys understand well where does the command come from...Coming from that, you just need to adjust the button and where the button is located. I'll create a simple file that will state all buttons script so that everybody could use this easily without having to use UI Element Inspector!!!

                Hope this will help other people

                THANKS AGAIN BugByte, ur a king!!
                VmtSquad - I sold my soul to Honda!
                Final Install
                CarPC progress: 95%

                Comment


                • #9
                  I always had problems figuring out the group 1 window 1 thing. How did you know that was what they were?

                  Also, I suppose I can use these scripts to trigger key sequences on my powermate? That would be pretty choice!
                  Originally posted by ghettocruzer
                  I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.
                  Want to:
                  -Find out about the new iBug iPad install?
                  -Find out about carPC's in just 5 minutes? View the Car PC 101 video

                  Comment


                  • #10
                    ^^I simply looked at the code the button was giving me..
                    If you take a look at the exemple I posted

                    Code:
                    <AXApplication: “ICEł”>
                    <AXWindow: “”>
                    <AXGroup>
                    <AXButton: “Coverflow View”>
                    This is all You need or this is the most important part!!

                    If I show you the same code that way...

                    Code:
                    <AXApplication: “ICEł”>
                    <AXWindow: “”>   (Window 1)
                             <AXGroup> (Group 1) 
                    <AXButton: “Coverflow View”>
                    Code:
                    click button "CoverFlow View" of group 1 of window 1
                    SYNTAX
                    click button is the action
                    CoverFlow View is the name of the AXButton
                    of window 1 - <AXWindow: “”>
                    of group 1 - <AXGroup>


                    I'm creating the database of all commands of the program and will post it soon.

                    For instance the HOME command isnt the same at every screen..

                    I saw
                    Code:
                    <AXWindow: “”>   (Window 1)
                             <AXGroup> (Group 1) 
                                   <AXSheet> (Group 1)
                    In the end it's pretty simple. You save the script and it gets called buy whatever you wan't; a button or a USB Remote like the PowerMate that I always wanted to use but never find a good place so I can keep the car lookin OEM

                    I'll keep you guys updated
                    VmtSquad - I sold my soul to Honda!
                    Final Install
                    CarPC progress: 95%

                    Comment


                    • #11
                      Here's a little script I did this morning so it could check if ICE3 is opened. That way it doesn't send an error message if the apps is not loaded.
                      Code:
                      if appIsRunning("ICEł") then
                      	tell application "System Events"
                      		tell process "ICEł"
                      			click button "Preferences" of group 1 of window 1
                      		end tell
                      	end tell
                      end if
                      
                      
                      on appIsRunning(appName)
                      	tell application "System Events" to return name of every process contains appName
                      end appIsRunning
                      I'm now looking to include some verification to check on which screen ICE3 is on, so we can launch the right script at the right time

                      Never been so happy to do some scripting
                      VmtSquad - I sold my soul to Honda!
                      Final Install
                      CarPC progress: 95%

                      Comment


                      • #12
                        So, how about setting one of the commands to hide ICE3 and display the Fusion/Parallels screen running the nav program. Hitting it again would swap them back. Voila! Integrated nav!
                        Originally posted by ghettocruzer
                        I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.
                        Want to:
                        -Find out about the new iBug iPad install?
                        -Find out about carPC's in just 5 minutes? View the Car PC 101 video

                        Comment


                        • #13
                          Awesome! Can't wait to get this mapped out to my Wiimote.

                          Comment


                          • #14
                            Originally posted by Bugbyte View Post
                            So, how about setting one of the commands to hide ICE3 and display the Fusion/Parallels screen running the nav program. Hitting it again would swap them back. Voila! Integrated nav!
                            I'm working on it guys, it's pretty simple but I'm doing some other stuff at the same time.

                            I see 2 possibilty for this:

                            1- Assign space 1 to ICE3, Assign space 2 to VMFusion(full screen)
                            - If button press and space = 1 switch to space = 2
                            - else if switch to space 1 VOILA!

                            2- Execute command+tab
                            If button press
                            if application active = VMWARE switch to aplication ICE3
                            else if switch to VMWARE
                            end if

                            I'll see along the road which will be easier or best to use we're close to NAVI Integration boys!!!

                            Lets put some work into that!!! I need some red bull LOL
                            VmtSquad - I sold my soul to Honda!
                            Final Install
                            CarPC progress: 95%

                            Comment


                            • #15
                              Here's the script that checks the current SPACE ur on and then switch to the one you want...It's pretty simple, now I need to implement all those scripts into one apps More fun to come !!!!
                              Code:
                              (*CHECKS WHICH SPACE YOUR ON*)
                              set xxVar to 0
                              tell application "System Events"
                              	tell process "SystemUIServer"
                              		set xVar to value of attribute "AXChildren" of menu bar 1
                              		set cVar to count of xVar
                              		repeat with iVar from 1 to cVar
                              			set zVar to value of attribute "AXDescription" of item iVar of xVar
                              			try
                              				if zVar = "spaces menu extra" then
                              					set xxVar to iVar
                              					exit repeat
                              				end if
                              			end try
                              		end repeat
                              	end tell
                              end tell
                              if xxVar = 0 then
                              	display dialog "Spaces Menu Extra not installed"
                              else
                              	tell application "System Events"
                              		tell process "SystemUIServer"
                              			set theCurrentSpace to value of menu bar item xxVar of menu bar 1
                              		end tell
                              	end tell
                              end if
                              (*Variable theCurrentSpace returns the SPACE UR ON*)
                              
                              (*Switch to the space you like*)
                              if theCurrentSpace = "1" then
                              	tell application "System Events"
                              		tell process "Finder"
                              			keystroke "2" using command down (*assign COMMAND+# to switch space in spaces properties*)
                              		end tell
                              	end tell
                              else
                              	tell application "System Events"
                              		tell process "Finder"
                              			keystroke "1" using command down (*assign COMMAND+# to switch space in spaces properties*)
                              		end tell
                              	end tell
                              end if
                              VmtSquad - I sold my soul to Honda!
                              Final Install
                              CarPC progress: 95%

                              Comment

                              Working...
                              X