keyboard.xml
#1
Nexus tricked me by moving the keyboard/mouse config files out of c:/userdata/blah/blah/blah - but I found it and while I was able to restore most settings how I like them, there are two that glitch.  Here are my customs:

<period>PlayerControl(tempoup)</period>
<comma>PlayerControl(tempodown)</comma>
<opensquarebracket>StepBack</opensquarebracket>
<closesquarebracket>StepForward</closesquarebracket>
<left>seek(-5)</left>
<right>seek(10)</right>

<up>seek(60)</up>
<down>seek(-60)</down>

Period & Comma work as expected, as do Up and Down.

The 'Step' command seems to be 10 seconds, I was hoping for single-frame forward/back.  Is there a command for that?
The Left & Right are the strange ones though, which I use constantly.  It appears that they are double-tapping, as ~80% of the time the Right will take me 20 seconds instead of 10, and the Left will go -10 seconds instead of -5.  But I tried to game the system with 5 and -2.5 'seeks', expecting them to still double, and they still do +20 and -10 (yes, even after Kodi exit and relaunch)... but I know the changes to keyboard.xml are registering since I customized the Comma/Period actions to 'Tempo' instead of 'Step', and those are working perfectly.

Ideas?
Reply
#2
According to Skip_steps (wiki) it appears that the StepForward and StepBack actions are forwarded to the new seeking function (Skip steps).  Which would explain why it only goes forward 10 seconds if you haven't configured skip steps in Kodi's GUI settings -- the default first step in Skip Steps.  it used to be 30 seconds per Action_IDs (wiki).

So you will probably have to change your square bracket config to use seek(##).  Smallest step appears to be 1 second.  I didn't see anything in the Action IDs to do something smaller, but I supposed I could have overlooked something.

Remember that Skip Steps is additive if done consecutively in the delay window.  The wiki entry explains this Additive Skipping better than I can.

Is that an extract of your keyboard.xml?  I'm asking because it matters if the key binding is in <global> or a specific window session (say like only for Videos).  I'm wondering if it isn't defined that you might be getting doubled up.

However, why not just configure the skip steps in Kodi's settings?  That way you can get the stepping you want with the left and right arrow without any keyboard.xml settings needed.  For example, I've turned off everything but 30 & -30.  This way I only get 30 second jumps every time I hit left or right arrow.

You could configure a -5 & 10 as your only steps which will do what you want with left & right arrow without a keymap.  If it's still messing up after that, I'd suspect maybe the keyboard itself.
HP Stream Mini w/Libreelec -> HDMI -> Toshiba 37"
Intel NUC8i3BEH w/Libreelec -> HDMI -> LG OLED55C3PUA -> S/PDIF -> Sony HT-CT80
Dell Optiplex 7050 Micro w/Libreelec -> HDMI -> Yamaha RX-V467 -> HDMI -> Toshiba 47L7200U
Reply
#3
(2023-03-16, 03:26)Viridel Wrote: The 'Step' command seems to be 10 seconds, I was hoping for single-frame forward/back.  Is there a command for that?

Code:
<keymap>
   <global>
     <keyboard>
      <one mod="ctrl,shift">PlayerControl(ShowVideoMenu)</one>
      <two>JumpSMS2</two> 
      <three>JumpSMS3</three> 
      <four>JumpSMS4</four> 
      <five>JumpSMS5</five> 
      <six>JumpSMS6</six> 
      <seven>JumpSMS7</seven> 
      <eight>JumpSMS8</eight> 
      <nine>JumpSMS9</nine>
     </keyboard>
   </global>
   <FullscreenVideo>
     <keyboard>
      <up>PlayerControl(FrameAdvance(1))</up>
     </keyboard>
   </FullscreenVideo>
</keymap>

Code:
<up>PlayerControl(FrameAdvance(1))</up>

"up" is the up directional key on my remote control I assigned to advance one frame.  You can replace "up" with the key on your remote control you want to assign.
I do not know how to code step back one frame but maybe someone else does.

https://forum.kodi.tv/showthread.php?tid...pid3071890
HOW TO - Kodi 2D - 3D - UHD (4k) HDR Guide Internal & External Players iso menus
DIY HOME THEATER WIND EFFECT

W11 Pro 24H2 MPC-BE\HC madVR KODI 22 GTX960-4GB/RGB 4:4:4/Desktop 60Hz 8bit Video Matched Refresh rates 23,24,50,60Hz 8/10/12bit/Samsung 82" Q90R Denon S720W
Reply
#4
keyboard.xml
...
  <FullscreenVideo>
    <keyboard>
      <period>PlayerControl(tempoup)</period>
      <comma>PlayerControl(tempodown)</comma>
      <opensquarebracket>Seek(-1)</opensquarebracket>
      <closesquarebracket>Seek(1)</closesquarebracket>
      <left>StepBack</left>
      <right>StepForward</right>
      <up>seek(60)</up>
      <down>seek(-60)</down>
...
    </keyboard>
  </FullscreenVideo>
...

advancedsettings.xml
<advancedsettings>
  <seeksteps>5, 10, 30, 300, 1200</seeksteps>
</advancedsettings>


So even with the above settings, the [ ] are operating incorrectly.  They go to the nearest 10 second mark.  So if I pause at 44 seconds, going forward goes to 50 then 60, 70, etc.  Pausing at 44 and going backwards goes to 30, 20 etc.

The <-  -> are actually doing the exact same thing... so they *might* be working as intended, but there is this 'rounding' thing going on, which is absurd.  These same functions worked perfectly in Matrix, but are broken in Nexus (so no, it's not "I'd suspect maybe the keyboard itself.").

Also the 'location of the keymaps' found here: https://kodi.wiki/view/Keymap
needs to be updated for the Nexus location of (install drive):\(install folder)\system\keymaps
Reply
#5
(2023-03-16, 03:26)Viridel Wrote: I was hoping for single-frame forward/back.  Is there a command for that?
I use this in my keyboard.xml ...
xml:
<a mod="alt">playercontrol(frameadvance(1))</a>

For this to work, you need to enable this setting... https://kodi.wiki/view/Settings/Player/V...to_display

https://forum.kodi.tv/showthread.php?tid...pid2648338
My Signature
Links to : Official:Forum rules (wiki) | Official:Forum rules/Banned add-ons (wiki) | Debug Log (wiki)
Links to : HOW-TO:Create Music Library (wiki) | HOW-TO:Create_Video_Library (wiki)  ||  Artwork (wiki) | Basic controls (wiki) | Import-export library (wiki) | Movie sets (wiki) | Movie universe (wiki) | NFO files (wiki) | Quick start guide (wiki)
Reply
#6
(2023-03-16, 21:27)Viridel Wrote: Also the 'location of the keymaps' found here: https://kodi.wiki/view/Keymap
needs to be updated for the Nexus location of (install drive):\(install folder)\system\keymaps
This is the original keymap which should not be edited.
If you want to edit this file, copy it to the \userdata\keymaps\ folder and edit it there. Otherwise with an update of Kodi, the file is reset.
My Signature
Links to : Official:Forum rules (wiki) | Official:Forum rules/Banned add-ons (wiki) | Debug Log (wiki)
Links to : HOW-TO:Create Music Library (wiki) | HOW-TO:Create_Video_Library (wiki)  ||  Artwork (wiki) | Basic controls (wiki) | Import-export library (wiki) | Movie sets (wiki) | Movie universe (wiki) | NFO files (wiki) | Quick start guide (wiki)
Reply
#7
I did a clean install of Kodi Windows 64bit v20.1 just to test what you were using.  I don't use Kodi on Windows, but I made sure I did not have any userdata folder.  I installed it to a second physical drive, D:\Kodi, but I did not do a portable install.

The location of the userdata folder has not changed.  I confirmed this by creating your advancedsettings.xml in %APPDATA%\Kodi\userdata (for eg. c:\users\jogee\roaming\Kodi\userdata) and a keyboard.xml in the %APPDATA%\Kodi\userdata\keymaps.  Remember that neither of these files are created by default.  A debug log clearly shows my advancedsettings.xml being read, and the skip steps I chose were the only options available to be selected from the GUI settings.

If your advancedsettings are being read, you will see in the GUI that the only values for skip steps, once you click on the Skip Steps entry, will be the ones you chose.  Or create a Debug Log and see if your advancedsettings are being read at all.

Read through https://kodi.wiki/view/Skip_steps#Custom...tep_values again.  You will see that skip steps just sets the available values.  Until you go into Kodi's settings and enable them you will being using the defaults.  This matches what you have seen.

Put your custom keyboard.xml in the correct location, %APPDATA%\Kodi\userdata\keymaps (for e.g. C:\Users\jogee\AppData\Roaming\Kodi\userdata\keymaps) and it will work correctly, per my tests and per the Wiki.
HP Stream Mini w/Libreelec -> HDMI -> Toshiba 37"
Intel NUC8i3BEH w/Libreelec -> HDMI -> LG OLED55C3PUA -> S/PDIF -> Sony HT-CT80
Dell Optiplex 7050 Micro w/Libreelec -> HDMI -> Yamaha RX-V467 -> HDMI -> Toshiba 47L7200U
Reply
#8
(2023-03-16, 21:45)Karellen Wrote:
(2023-03-16, 21:27)Viridel Wrote: Also the 'location of the keymaps' found here: Keymap (wiki)
needs to be updated for the Nexus location of (install drive):\(install folder)\system\keymaps
This is the original keymap which should not be edited.
If you want to edit this file, copy it to the \userdata\keymaps\ folder and edit it there. Otherwise with an update of Kodi, the file is reset.

Fair enough, I did the change there first and when it wasn't working properly, so I went looking and found it in the install folder.  I did do a self-copy first to create a 'keymaps-Copy.xml' backup, because I try to be smart Smile

That said, the link is still not 100% accurate, as it omits the \keymaps at the end

So when it didn't work under c: ... keymaps, I made the changes again and saved them it under the install folder.  When that didn't work right, I used the link from the Wiki and put it in userdata\{main} ... so yeah, I have 3 copies of the same file................. which I'm sure is great for troubleshooting.
Reply
#9
(2023-03-17, 02:31)Viridel Wrote: That said, the link is still not 100% accurate, as it omits the \keymaps at the end
It is a standard template that shows the location of the userdata folder. \keymaps is a subfolder of the \userdata folder.
I'm not going to create a separate template for each folder in the \kodi data folder and the \userdata folder. There will be dozens of them
Which is why, if you read the line directly above the table it says...
User modified keymap files must be stored in the "keymaps" folder in the userdata folder:
I guess you did not read that bit.

Validate your keymap.xml file... https://www.xmlvalidation.com/
My Signature
Links to : Official:Forum rules (wiki) | Official:Forum rules/Banned add-ons (wiki) | Debug Log (wiki)
Links to : HOW-TO:Create Music Library (wiki) | HOW-TO:Create_Video_Library (wiki)  ||  Artwork (wiki) | Basic controls (wiki) | Import-export library (wiki) | Movie sets (wiki) | Movie universe (wiki) | NFO files (wiki) | Quick start guide (wiki)
Reply
#10
(2023-03-16, 23:29)Jogee Wrote: ...

Ok, I've reset the Install folder keyboard.xml.  I've deleted the userdata keyboard.xml, and the only mod file is in Appdata\...\keymaps (plus the advancedsettings in its proper spot as per above).  Here's the customized keyboard.xml script:

<?xml version="1.0"?>
<keymap>
  <FullscreenVideo>
    <keyboard>
      <period>PlayerControl(tempoup)</period>
      <comma>PlayerControl(tempodown)</comma>
      <opensquarebracket>Seek(-1)</opensquarebracket>
      <closesquarebracket>playercontrol(frameadvance(1))</closesquarebracket>
      <left>StepBack</left>
      <right>StepForward</right>
      <up>seek(60)</up>
      <down>seek(-60)</down>
    </keyboard>
  </FullscreenVideo>
</keymap>

Confirmed working as intended:
      <period>PlayerControl(tempoup)</period>
      <comma>PlayerControl(tempodown)</comma>
      <closesquarebracket>playercontrol(frameadvance(1))</closesquarebracket>

Confirmed working in theory
<seeksteps>5, 10, 30, 300, 1200</seeksteps>
^these settings appear in the Player options, have been activated, and appear to be working as intended.......... with caveat below.

Confirmed working, with caveat
      <left>StepBack</left>
      <right>StepForward</right>
      <up>seek(60)</up>
      <down>seek(-60)</down>

CAVEAT:
It's still doing the time-rounding thing.  For example, at 2:36, I pause the screen.  I advance a frame ( ] ), and all is {good} with the world.  I go back ( [ ), and it drops a second {good} and then immediately 'rounds' down to 2:30 {bad}.  I step forward ( -> ), and it goes to 2:35 {good}, but before the player starts, and with my hand completely off the keyboard, it jumps to 2:40 {bad}.  I let it go to 2:42, and press ( Up ), the time displays as 3:42 {good} for a brief moment but then jumps to 3:50 when it starts to playback {bad}.  At 3:55 I pause it and press ( Down ), and it displays the 2:55 {good} before immediately changing to 2:50 {bad}.

So something is screwing with the settings forcing playback to originate in 10 second time blocks... But literally everything else is set at defaults aside from the 2 files above, and activating the mouse-wheel volume control setting.  Once that gets figured out, I assume everything else will work perfectly.
Reply
#11
(2023-03-17, 02:46)Karellen Wrote: ...
User modified keymap files must be stored in the "keymaps" folder in the userdata folder:
I guess you did not read that bit.
Nahhh, I saw pretty box with colors and Windows Tongue

But ok, fair enough.  I was pretty flustered at the time, so reading wasn't high on my attention span.  xml definitely works, but there's still a bug, as outlined in excessive detail in the post above.
Reply
#12
I did notice some minor flutter when seeking.  It would jump the 10 seconds that was intended, but would go fwd a second or two more when starting play.  I felt that was down to the file and it needing to resync to play.  Not a scientific observation though, to be sure.

I'm not sure why you need the left and right controls configured in the keyboard.xml.  Skip Steps is already configured for left and right by default.  I would say remove them entirely and use the skip steps you have defined.
HP Stream Mini w/Libreelec -> HDMI -> Toshiba 37"
Intel NUC8i3BEH w/Libreelec -> HDMI -> LG OLED55C3PUA -> S/PDIF -> Sony HT-CT80
Dell Optiplex 7050 Micro w/Libreelec -> HDMI -> Yamaha RX-V467 -> HDMI -> Toshiba 47L7200U
Reply
#13
(2023-03-17, 04:01)Jogee Wrote: I'm not sure why you need the left and right controls configured in the keyboard.xml.  Skip Steps is already configured for left and right by default.  I would say remove them entirely and use the skip steps you have defined.

Because the configuration I was using in Matrix was <- was -5, -> was +10.  I just found out about the advancedconfig option to change skip steps on this thread.  Changing them to Skip Steps instead of Seek was done for troubleshooting purposes, and I don't know if this will be my permanent configuration.

Therefore, you're saying I should stop manually keybinding Skip Steps, and just use the original keybound Skip Steps....... even though they are apparently identical.  And this is after I say the skip steps function is working, and the problem is ELSEWHERE and not isolated to that function (both Skip and Seek are resulting in the same issue).

So you keep outright ignoring the fundamental problem that I keep explaining - the 10-second locks - even I identified this behavior on my first post on this thread (albeit, not as fleshed out as when I did more troubleshooting later)...  So essentially, all the messing around with the config files was likely unnecessary (except frame-forward, that's awesome @brazen1 & @Karellen, thank you), as the settings were working in Matrix, and the settings themselves probably were working fine in Nexus - and the 10-second locks are almost certainly a completely separate issue to the keybindings.  This means that the title of this thread no longer applies, as the troubleshooting has advanced.

From the first thread:
"the Right will take me 20 seconds instead of 10, and the Left will go -10 seconds instead of -5.  But I tried to game the system with 5 and -2.5 'seeks', expecting them to still double, and they still do +20 and -10 (yes, even after Kodi exit and relaunch)"

So that's where things are at.

NEW DATA!!!
I started watching a movie, and it's doing the 1-2 second 'catchup' that Jogee is describing.  I checked the files that I was troubleshooting yesterday, and they are all x265.  The movie is x264.  I tested with more x264 and x265 files and this issue is isolated to x265.

Therefore I think it best if I close this thread, and open a new one, as this is a decoding issue, not a keybinding one.

NEWER DATA!!!
It's not even all x265, as I checked other series' and different resolutions... as crazy as it sounds, it's isolated to one series of x265 only.  Same episode in x264 is fine.  Other episodes in the same series in x265, same glitch.  Other x265 by the same encoder (MeGusta), are fine.  It was some magically coincidental combination of exactly what I was watching when I transitioned to Nexus.  I don't have an answer and aside from that, if anyone wants the tor file for the glitched episodes, PM me.
Reply
#14
Don't take out your frustration on me.  I'm just trying to help.

I didn't ignore anything.  I focused on items I felt were important to resolve as part of the problem determination process, and to those items which I had actual knowledge to help with.  I didn't state that as I felt it would be potentially rude to point out.  But perhaps I should have in retrospect.

Regardless, I'm glad you've narrowed down the problem.

It might be worthwhile to use something like mediainfo to compare the problem x265 files against ok x265 files.  Maybe you'll get lucky and notice a specific encoding option as the culprit (like with the format profile used).  But that is out of my realm.

Good luck.
HP Stream Mini w/Libreelec -> HDMI -> Toshiba 37"
Intel NUC8i3BEH w/Libreelec -> HDMI -> LG OLED55C3PUA -> S/PDIF -> Sony HT-CT80
Dell Optiplex 7050 Micro w/Libreelec -> HDMI -> Yamaha RX-V467 -> HDMI -> Toshiba 47L7200U
Reply
#15
@Jogee and I appreciate the time you have put in, and I re-wrote what I said several times to try to convey the correct feeling.  It started poorly when you said I might have a defective keyboard, when I was clearly an experienced user who had just moved onto Nexus.  I think we can agree that it's unlikely that a keyboard that was working perfectly fine would spontaneously fail with two of its keys, and only in one specific piece of software - and not have it isolated to that software.  I get that it was a throw-away comment at the end of a post, but it wasn't a good one, because it made no sense.

With regards to your last post, you jumped right to admonishing me for having the same command in master & override, even though I spent 30+ minutes writing the post that said it was working as intended, but I was having a universal issue elsewhere that was proven by the successful use of Step & Seek.  The fact that you didn't in any way address the core issue in the post, that had been extensively tested, and explained was the only remaining issue - and instead focused on the redundancy - is what made me frustrated.

So with all respect, and I fully understand you have never been under any obligation to assist in any way, I am going to make two suggestions, and take them for what you will:
1) When the only change is software, don't blame hardware unless all other options have been exhausted.
2) Keep focused on the problem being presented.  You may be 100% correct on something else, but if that isn't a remedy for the problem, then save it for when the problem is resolved or add it as a PS.  If you would have said in your last post 'I can't exactly replicate the issue you're having. Mine skips for a second or two, but I'm sure that's just buffering. Could you provide information on the files it's doing this with?   PS. Left/Right are already bound to Skip, so your override and global settings are the same. I doubt this has an impact, but it's worth testing'.  As you can imagine, this would have created a very different state of mind.

Like I said, just something worth evaluating going forward.  This thread has run its course, as the issue has been discovered, and it's not related to keyboard.xml.  Therefore just reply to this with 'read' or 'ok delete', and I'll kill the thread as it doesn't serve a purpose in the archives.
Reply

Logout Mark Read Team Forum Stats Members Help
keyboard.xml0