# External Inputs Information

**URL:** <https://forums.plex.tv/t/external-inputs-information/185524>\
**Category:** Dev/API Corner\
**Tags:** plugin-dev\
**Created:** [March 21, 2017, 9:00am UTC](https://forums.plex.tv/t/external-inputs-information/185524 "2017-03-21T09:00:10Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vaughan01](https://avatars.discourse-cdn.com/v4/letter/v/bc8723/32.png) [@Vaughan01](https://forums.plex.tv/u/Vaughan01)\
**Post date:** [March 21, 2017, 9:00am UTC](https://forums.plex.tv/t/external-inputs-information/185524/1 "2017-03-21T09:00:10Z")

</div>

Has anyone got any information regarding the use of external inputs to a channel, in particular I’m thinking key presses for triggering events in a channel such as pausing a stream etc. I’ve been looking all day and found nothing.

I’m mainly thinking of OPHT clients for what it’s worth.

Cheers

---

<div class="post-metadata">

**Author:** ![eetjtl](https://avatars.discourse-cdn.com/v4/letter/e/ed655f/32.png) [@eetjtl](https://forums.plex.tv/u/eetjtl)\
**Post date:** [March 21, 2017, 3:12pm UTC](https://forums.plex.tv/t/external-inputs-information/185524/2 "2017-03-21T15:12:13Z")

</div>

Still trying to figure out what you are asking 🙂

Opht. Has built in key mapping for common. Functions  
[https://support.plex.tv/hc/en-us/articles/201670487-Keyboard-Shortcuts](https://support.plex.tv/hc/en-us/articles/201670487-Keyboard-Shortcuts)  
(I realize that link is about pht. But it’s the same for opht)

Or are you asking about coding for entering text. Such as in search or prefs or other text via a keyboard?

> **[Client.Product for clients with no Channel Search?](https://forums.plex.tv/discussion/comment/1129991#Comment_1129991)**
>
> I know you are just asking about Search. But I figured I would give the specifics in terms of input for clients including InputDirectoryObject() (since it can be used for search and other user input), SearchDirectoryObject(), and PrefsObject(). ...

> **[InputDirectoryObject on Plex/Web](https://forums.plex.tv/discussion/90168/inputdirectoryobject-on-plex-web)**
>
> Am I correct that InputDirectoryObjects on Plex/Web are only displayed as a search input field and not a Directory Object? And there is no way to change that? And that they can only be added at the top level Main Menu?   If that is not true,...

---

<div class="post-metadata">

**Author:** ![Vaughan01](https://avatars.discourse-cdn.com/v4/letter/v/bc8723/32.png) [@Vaughan01](https://forums.plex.tv/u/Vaughan01)\
**Post date:** [March 21, 2017, 7:44pm UTC](https://forums.plex.tv/t/external-inputs-information/185524/3 "2017-03-21T19:44:39Z")

</div>

So as background, I have an video streaming channel with multiple ‘channels’. I want to be able to change which ‘channel’ or stream I’m watching whilst already in the stream.

So I’m okayish with Python and I’ve done some modifications to this channel already. The channel already contains methods for searching and calling up the stream URLs etc. I’m now trying to figure out how i can program to detect the key presses from my remote/keyboard.

Unsure how much of this can be done in the channel though.

---

<div class="post-metadata">

**Author:** ![shopgirl284](https://avatars.discourse-cdn.com/v4/letter/s/f6c823/32.png) [@shopgirl284](https://forums.plex.tv/u/shopgirl284)\
**Post date:** [March 22, 2017, 12:56pm UTC](https://forums.plex.tv/t/external-inputs-information/185524/4 "2017-03-22T12:56:29Z")

</div>

Though I am not quite sure what you mean by “an video streaming channel with multiple ‘channels’.”, you cannot control the Plex environment from a channel plugins. Are you wanting some shortcut key to switch between between directory items of a channel from the within the play screen?

All you do in a Plex channel is create directories to organize the media and pull the metadata to populate the media listings in each directory. Then you create media containers (usually in a URL service) that contain all the data about each video stream you want Plex to play.

Each Plex player app controls the environment. Plex channels just create an XML document for each directory with all the metadata. Each Plex player app is programmed to read that XML and display the channel directories and determine how to play the media based on the details shown in the media container. Any remote control/keyboard options in channels are part of and controlled by the Plex player app.

If you want to see the channel XML your Plex player app is accessing, the channels XML is at [http://localhost:32400/channels/all?X-Plex-Token=](http://localhost:32400/channels/all?X-Plex-Token=)`your plex token`. And then each directory listed can be accessed with [http://localhost:32400/](http://localhost:32400/)`key value`?X-Plex-Token=`your plex token`

If you want to see the media container XML and it has a URL service, the XML for it is at [http://localhost:32400/system/services/url/lookup?url=](http://localhost:32400/system/services/url/lookup?url=)`the URL of the media`?X-Plex-Token=`your plex token`

Ultimately, you would need to refer to the section of the forum for the Plex player app you are using and see if they offer any keyboard options that can be used within in channels.

---

<div class="post-metadata">

**Author:** ![Vaughan01](https://avatars.discourse-cdn.com/v4/letter/v/bc8723/32.png) [@Vaughan01](https://forums.plex.tv/u/Vaughan01)\
**Post date:** [March 22, 2017, 8:38pm UTC](https://forums.plex.tv/t/external-inputs-information/185524/5 "2017-03-22T20:38:14Z")

</div>

Thanks for the reply. The channel contains multiple directories and there is a directory that has multiple media listings all numbered like channels. I wish to be able to change media listings whilst playing one of them.

So to rehash what you’ve said. PMS parses the channel functions and creates an xml containing directories/media listings. The client then reads this xml and creates the directories/media listings for the viewer?

I have also posted in the OPHT forums about getting the keyboard info.

Thanks for the links!

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [January 8, 2020, 8:03pm UTC](https://forums.plex.tv/t/external-inputs-information/185524/6 "2020-01-08T20:03:09Z")

</div>


