I have a question and was hoping that you could maybe help me out. I currently built an API to communicate between Catia (CAD-Application) and my browser so I can create parts/products read and write parameters etc.
One of my problems is that the only way I know to do this is via ActiveX which I really don't wanna do as it forces everyone to use IE11. Since CatiaV5 is a pretty old Software there won't be any elegant way to use it via some sort of Restful api or similar.
Since I've been working with JavaScript for a while now, did apps for phones but have no idea about browser extensions my question was this. Is it possible to write a Chrome Extension that actually uses com dlls and enables me to set up a connection to a piece of software (in this case Catia) and work with it.
NPAPI plug-ins could be the solution for my problem as it looks from the information I found but it's also supposed to also being phased out.
Do you think it's still worth looking into deeper and studying on writing such an NPAPI app or is there maybe a more elegant way you can think of?
Would be happy for some ideas and suggestions. Thanks in advance and
Greetings Chris
In modern browsers the only way to do this would be using native messaging:
Chrome
Firefox
Edge
FireBreath2 has an abstraction for building c++ plugins which supports native messaging, though the docs are still a little sparse.
Zetakey browser support NPAPI.
We provide HTML5 browser embedded system for industrial and enterprise application.
Www.zetakey.com
Best regards,
Jack Wong
Related
I've got a big ask here, but I am hoping someone might be able to help me. If there's another site you think this should be posted on, please let me know.
I'm the developer of the free app Amphetamine for macOS and I'm hoping to add a new feature to the app - keeping a Mac awake while in closed-display (clamshell) mode while not having a keyboard/mouse/power adapter/display connected to the Mac. I get requests to add this feature on an almost daily basis.
I've been working on a solution (and it's mostly ready) which uses a non-App Store helper app that must be download and installed separately. I could still go with that solution, but I want to explore one more option before pushing the separate app solution out to the world.
An Amphetamine user tipped me off that another app, AntiSleep can keep a Mac awake while in closed-display mode, while not meeting Apple's requirements. I've tested this claim, and it's true. After doing a bit of digging into how AntiSleep might be accomplishing this, I've come up with 2 possible theories so far (though there may be more to it):
In addition to the standard power assertion types, it looks like AntiSleep is using (a) private framework(s) to apply non-standard power assertions. The following non-standard power assertion types are active when AntiSleep is keeping a Mac awake: DenySystemSleep, UserIsActive, RequiresDisplayAudio, & InternalPreventDisplaySleep. I haven't been able to find much information on these power assertion types beyond what appears in IOPMLibPrivate.h. I'm not familiar at all with using private frameworks, but I assume I could theoretically add the IOPMLibPrivate header file to a project and then create these power assertion types. I understand that would likely result in an App Store review rejection for Amphetamine, of course. What about non-App Store apps? Would Apple notarize an app using this? Beyond that, could someone help me confirm that the only way to apply these non-standard power assertions is to use a private framework?
I suspect that AntiSleep may also be creating a virtual keyboard and mouse. Certainly, the idea of creating a virtual keyboard and mouse to get around Apple's requirement of having a keyboard and mouse connected to the Mac when using closed-display mode is an intriguing idea. After doing some searching, I found foohid. However, I ran into all kinds of errors trying to add and use the foohid files in a test project. Would someone be willing to take a look at the foohid project and help me understand whether it is theoretically possible to include this functionality in an App Store compatible app? I'm not asking for code help with that (yet). I'd just like some help determining whether it might be possible to do.
Thank you in advance for taking a look.
Would Apple notarize an app using this?
I haven't seen any issues with notarising code that uses private APIs. Currently, Apple only seems to use notarisation for scanning for inclusion of known malware.
Would someone be willing to take a look at the foohid project and help me understand whether it is theoretically possible to include this functionality in an App Store compatible app?
Taking a quick glance at the code of that project, it's clear it implements a kernel extension (kext). Those are not allowed on the App Store.
However, since macOS 10.15 Catalina, there's a new way to write HID drivers, using DriverKit. The idea is that the APIs are very similar to the kernel APIs, although I suspect it'll be a rewrite of the kext as a DriverKit driver, rather than a simple port.
DriverKit drivers are permitted to be included in App Store apps.
I don't know if a DriverKit based HID driver will solve your specific power management issue.
If you go with a DriverKit solution, this will only work on 10.15+.
I suspect that AntiSleep may also be creating a virtual keyboard and mouse.
I haven't looked at AntiSleep, but I do know that in addition to writing an outright HID driver, it's possible to generate HID events using user space APIs such as IOHIDPostEvent(). I don't know if those are allowed on the App Store, but as far as I'm aware, IOKitLib is generally fine.
It's possible you might be able to implement your virtual input device using those.
I was wondering how i would be able to get started with controlling my nikon DSLR camera? I have been reading on the Nikon SDK and MPT/PTP and is really confused on how to start with writing a script to control it. Thanks for helping me.
If you are just wanting to script stuff, under Linux libgphoto2 and gphoto2 are a good start.
You can use them under windows, I'm not sure if there are pre-compiled build available, but that would also require installing the USB wrapper libraries, and that a touch fiddly.
The next step above that is to compile libgphoto2 in cygwin (there are some good guides how to this on the web), but that overkill.
I am currently using digicamcontrol in windows, and for Nikon and C# code it's really nice to use, and very fast, plus it has no hassle on the USB front. It wouldn't be too hard to write a small C# that does what you want (unknown) and then run that from scripts.
this is what you are looking for:
http://sourceforge.net/projects/nikoncswrapper/
Good luck
In case anybody is still looking at this: the answer is a bit more complex if what you are looking to do is write your own code to access a Nikon DSLR. Thomas Dideriksen's SDK wrapper referenced above is great in making it easy to access Nikon's SDK to control almost all camera functions - but it is restricted to USB-cable access since that SDK does not support wireless access. If the latter is what you want, your best option may be Duka Istvan's digiCamControl, which Simeon suggests above. This open-source C# project can be used as a standalone library. (See the development documentation page.) It is not all that well documented, though, so figuring out how to control all camera parameters can be tricky.
Is it possible to integrate a webkit engine in a java application.
Here is my thinking, I would like to implement my User Interface using javascript and business logic in Java and want to communicate back and forth between the js and java. I have looked at titanium and chromiumembedded. But i dont get the complete picture. Can anyone give me a good explanation of webkit being used in a standalone application.
There are a few solutions, the main one being for SWT. See here for the SWT solution. There was a similar question here referring to SWING.
Edit: Oh my, I can't believe I forgot Lobo, a browser written in Java. More Specifically, their Browser API providers support for embedding. This seems to be the better solution for cross-platform and possibly stability. I'm not 100% sure on the first two solutions' development. Hope that provides some insight.
JavaFX 2 has an embedded browser component based on Webkit. There is a tutorial provided by Oracle here.
I have a Symbian 9.1 handset, Nokia E65, based on Nokia S60 series UI. I'd like to build a simple, full screen, graphic application. It should be able to display some text and pictures and have a basic interaction from the keyboard. That's for me only, not to be deployed.
Now, what do you think is the quickest and most painless way to have it done?
I have the following skills:
- HTML, PHP, ASP.net, JS
- ASP.net and C#, Silverlight
- Java, but mostly for networking, not UI
- Some C++
I have downloaded the Nokia IDE, but it is scary at first sight :)
Any tutorial or example are welcome!
Edit:
In particular, two questions:
is there a possibility to make a stand-alone flash application for that handset?
how about the QT mobile version?
For your device, definitely use Python for S60. It is much easier to start with than Symbian's C++ SDK and in case you ever need more low level functionality than python gives you, you can write small modules in c++ and use them in your Python program.
For a simple application like the one you are describing, Python will do just fine. You don't even need any of Nokia's IDEs / tools on the PC, you can just write the code in any text editor, copy it to the phone and test it live.
As others have mentioned, other options include:
Symbian C++ SDK : As you have discovered the tools and not the most intuitive to work with, development is not straight forward either.
Nokia's WRT : Using javascript/css/html, but it is not available for your phone.
Qt : Not available for your phone.
Java Me : Probably your second best option, your code will be slightly larger but more protable. The tools are not as straight forward as with Python, but definitely not as complicated as with Symbian.
If you think you may like to do some further development on the Symbian platform in future, I'd strongly suggest looking at Qt. Unfortunately, however, you can't use it on your E65, since Qt requires S60 3.1 or higher. (The E65 runs S60 3.0).
Since Qt coding in done in C++, you also have access to native platform APIs if required. For most apps however, the (considerably more user-friendly) Qt APIs provide all the functionality you need.
Depending on your background, the learning curve may be steeper than using Java or Python, but the pay-off is that you get access to a very powerful toolkit. And of course, as long as you use only Qt APIs, your app should be easily portable to other Qt platforms if necessary.
Go for Java ME.
All the things you list in your post is possible to do in Java.
The Symbian SDK for C++ can be downloaded here.
NSBasic is another option.
Kindness,
Dan
May I suggest Python? For newer Symbian handsets I'd recommend Web Runtime (WRT), but it is not supported on good old E65.
I'm obviously biased but I would suggest getting the 2D graphics example code from the "Quick Recipes On Symbian OS" book:
If you know HTML and JS already, you should be able to write a Web widget for your Symbian device pretty easily, using the tools available through Forum Nokia. More info here:
http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/
These widgets are standalone full screen applications that use the device WebKit browser engine for rendering and UI. You can also use keyboard inputs and customize the softkeys if you wish.
I'm trying to write a game with support for Joypads as well as mouse/keyboard. I've tried finding information about that, but it's either outdated or not portable enough.
Does anybody know of any good, lightweight libraries that can abstract Joypad reading? I want to use the 360 controller, but I would like support for more than that.
I'm primarily going to be writing on Windows, but I really don't want to use DirectInput/XInput, in case I ever wish to port my code.
Have you ever tryied OIS (Object Oriented Input System)? An efficient and light weight library.
I am very satisfied with it.
I have never tried with the 360 controller, but it should work fine.
This maybe an older question and is already answered but..
Someone on tigsource made a lightweight cross-platform gamepad library
that you might find useful.
You can view the post on it here.
What about SDL?
Maybe it's not what you mean by lightweight (it has the graphic and audio subsystems too), but it's very portable.
I know this thread is very old and by now you might have gotten what you need, but im answering this just in case someone stumbles on it and needs help as well.
I stumbled upon this library gainput and it seems like it makes alot of sense. You can try it out, if it helps.
Gainput is a lightweight c++ library, that enables you use the same interface for Joypads, macs, pc, linux as well as mobiles, and it is very easy to integrate to your project.
A link to gainput can be found here (http://gainput.johanneskuhlmann.de/)
Have you looked at XNA game framework?
There is also
Allero
http://www.talula.demon.co.uk/allegro/
GarageGames
http://www.garagegames.com/
Try that out