faridv / hop

HbbTV Open Platform - A TypeScript platform for creating fast and optimized HbbTV apps
MIT License
14 stars 3 forks source link

Working copy #1

Open nbashev opened 5 years ago

nbashev commented 5 years ago

Do you have a working copy, so I can see the code in action?

faridv commented 5 years ago

Hi @nbashev I'm hardly working on it and I have no preview yet. If you have any questions I'll be glad answer. Since now, I've been working on utilities like storage, inputs, etc. to cover all HbbTV-enabled TVs. I had to develop a project and I couldn't find a good resource/source code to use, so I decided to start writing my own platform. My milestone is to run simple applications on this platform in next month. I'll let you know by then.

nbashev commented 5 years ago

I couldn't find any keyset class so the application can request them from the TV, http://hbbtv.irt.de/wiki/index.php/Key_set,_navigation_and_focus I can help you with some of the things in the project.

faridv commented 5 years ago

I've been working on the project in the last month and created some apps like weather, schedule, games, etc. but currently I'm stuck with the key events handling! To answer your question the keyset is being set in app/bootstrap.ts in current version. I have seen codes of some applications available on the Internet and they all create a huge switch-case for each key events; I was trying to create a class so I can be able to dynamically add event listeners wherever I need it, so I forked hotkeys and added HbbTV key events to it and it's not working as expected. Any helps with that is highly appreciated.

faridv commented 5 years ago

Application is in Persian language, but I'm sure the code is understandable. I also added setup and run commands to the readme.md. feel free to ask any questions.

nbashev commented 5 years ago

For some reason app does not recognize the buttons from Fire TV Plugin. I did not have time to test on my TV. What I have noticed is that buttons work ok in Main menu but once I enter in a module they stop to be recognized. For switch events: I'm not quite sure I understand what is your goal. In my opinion, key events should be devided in two groups Main and Module events. Key events listener should check for Module events first and then switch back to main if exists. This way the priority of the events will be controlled much easy. Each Module will have its own set of events that will not mess with the rest.