Didn't know that was possible. I assume it can be mapped a key on a keyboard as well?
Additionally, being able save the modified offset would make the need to search for alternative subtitle obsolete for me. There are few video players on desktop that already does this, not sure if Plex is even willing to something like this. I do remember reading somewhere that they are not considering making any modification to the file through their software.
It is very much possible, and has always been. And yes, you can change the keyboard XML file as well to support that. I made an example file for you:
[spoiler]
Play
Queue
Rewind
Left
Right
Up
Down
analogseekback
analogseekforward
PageUp
PageDown
Select
Select
Back
Back
ActivateWindow(PlayerControls)
ParentDir
Info
ContextMenu
ContextMenu
PlayPause
Stop
SkipNext
SkipPrevious
FullScreen
Screenshot
Screenshot
VolumeDown
VolumeUp
VolumeUp
Number0
Number1
Number2
Number3
Number4
Number5
Number6
Number7
Number8
Number9
VolumeDown
VolumeUp
Number0
Number1
Number2
Number3
Number4
Number5
Number6
Number7
Number8
Number9
ToggleFullScreen
FirstPage
LastPage
ActivateWindow(shutdownmenu)
ActivateWindow(shutdownmenu)
Back
ActivateWindow(Favourites)
XBMC.ActivateWindow(Home)
Mute
VolumeDown
VolumeUp
SkipNext
SkipPrevious
Stop
Pause
XBMC.ActivateWindow(MyMusic)
ActivateWindow(MyPrograms)
ActivateWindow(MyPrograms)
Play
Stop
Pause
FastForward
Rewind
SkipNext
SkipPrevious
Info
VolumeUp
VolumeDown
Mute
-->
ActivateWindow(music)
ActivateWindow(pictures)
ActivateWindow(video)
PlayerControl(ShowVideoMenu)
-->
-->
--> -->
Notification(MCEKeypress, DVD subtitle, 3)
Notification(MCEKeypress, DVD audio, 3)
ActivateWindow(Home)
playtrailer
XBMC.ShutDown()
info
XBMC.ShutDown()
PlayPause
Backspace
Backspace
Delete
Move
Rename
Highlight
Delete
Move
Rename
ParentDir
Back
Delete
MoveItemUp
MoveItemDown
MoveItemUp
MoveItemDown
Delete
Playlist
Queue
Delete
ParentDir
Playlist
Queue
FastForward
Rewind
StepForward
StepBack
SmallStepBack
OSD
OSD
OSD
AspectRatio
StepBack
StepForward
BigStepForward
BigStepBack
SubtitleShiftUp
SubtitleShiftDown
<pageup>SkipNext</pageup>
<pagedown>SkipPrevious</pagedown>
<!-- PLEX -->
<backspace>SmallStepBack</backspace>
<opensquarebracket>BigStepBack</opensquarebracket>
<closesquarebracket>BigStepForward</closesquarebracket>
<return>Pause</return>
<i>CodecInfo</i>
<o>ShowTime</o>
<s>ShowSubtitles</s>
<s mod="ctrl">SubtitleAlign</s>
<l>NextSubtitle</l>
<b>SubtitleDelayMinus</b>
<c>SubtitleDelayPlus</c>
<a>AudioNextLanguage</a>
<f1>OSD</f1>
<f2>Rewind</f2>
<f3>FastForward</f3>
<f4>VolumeUp</f4>
<f5>VolumeDown</f5>
<f6>Info</f6>
<f7>Stop</f7>
<escape>Stop</escape>
<!-- END PLEX -->
</keyboard>
Select
Select
FastForward
Rewind
StepForward
CodecInfo
Back
Back
OSD
Close
Back
FastForward
Rewind
SkipNext
SkipPrevious
Fullscreen
OSD
OSD
OSD
Info
ActivateWindow(VisualisationPresetList)
ActivateWindow(VisualisationSettings)
ActivateWindow(MusicPlaylist)
SkipPrevious
SkipNext
IncreaseRating
DecreaseRating
CodecInfo
LockPreset
FullScreen
FastForward
Rewind
SkipNext
SkipPrevious
Back
Info
CodecInfo
ActivateWindow(VisualisationPresetList)
ActivateWindow(VisualisationSettings)
ActivateWindow(MusicPlaylist)
FastForward
Rewind
SkipNext
SkipPrevious
Back
Info
CodecInfo
ActivateWindow(VisualisationPresetList)
Back
ActivateWindow(MusicPlaylist)
FastForward
Rewind
SkipNext
SkipPrevious
Back
Info
CodecInfo
Back
Back
ActivateWindow(MusicPlaylist)
ZoomNormal
ZoomLevel1
ZoomLevel2
ZoomLevel3
ZoomLevel4
ZoomLevel5
ZoomLevel6
ZoomLevel7
ZoomLevel8
ZoomLevel9
Info
CodecInfo
NextPicture
PreviousPicture
ZoomIn
ZoomOut
Rotate
Rotate
Rotate
NextCalibration
NextCalibration
ResetCalibration
NextResolution
PreviousMenu
PreviousMenu
NextCalibration
NextCalibration
ResetCalibration
PreviousMenu
PreviousMenu
Back
Back
Info
CodecInfo
<opensquarebracket>BigStepBack</opensquarebracket>
<closesquarebracket>BigStepForward</closesquarebracket>
<m>OSD</m>
<i>Info</i>
<o>CodecInfo</o>
<z>AspectRatio</z>
<t>ShowSubtitles</t>
<l>NextSubtitle</l>
<a>AudioDelay</a>
<escape>Fullscreen</escape>
<return>Select</return>
<enter>Select</enter> <!-- backspace>Fullscreen</backspace -->
<pageup>SkipNext</pageup>
<pagedown>SkipPrevious</pagedown>
</keyboard>
Info
CodecInfo
Info
CodecInfo
Delete
Delete
Playlist
ToggleWatched
CyclePrimaryFilter
ClearFilters
ToggleUnwatchedFilter
Playlist
Queue
ToggleWatched
Playlist
Back
Delete
MoveItemUp
MoveItemDown
Playlist
Delete
Back
Back
Close
info
Back
Back
Close
Back
Close
NextPicture
PreviousPicture
Back
Back
Back
Pause
Back
Close
Close
PreviousChannelGroup
NextChannelGroup
ChannelUp
ChannelDown
Close
Close
Close
Close
Close
Close
Close
Close
Close
PreviousMenu
Highlight
Back
Back
Close
Delete
Close
CyclePrimaryFilter
ClearFilters
ToggleUnwatchedFilter
PreviousMenu
[/spoiler]
That file will have subtitledelayminus and subtitledelayplus mapped to the keyboard letter b and c. Change it however you want. Remember that if you make one fault, the file will not load at all and it will use the default keyboard.xml instead. Only way to see if it uses the default one or not is to check the log.
If you want to use that XML i pasted above, copy and paste it in a text document (without formatting, so do not use crappy text editors) and place it next to the joystick.harmony.xml, but call i keyboard.xml instead.On the Mac it is this path:
~/Library/Application Support/Plex Home Theater/userdata/keymaps/