alesya-h / linux_detect_tablet_mode

Detect if your laptop is in normal or tablet mode. Useful for Yoga laptops to disable keyboard/trackpoint/touchpad in a tablet mode
MIT License
137 stars 29 forks source link

Bit of a noob... #34

Open johnstonesnow opened 11 months ago

johnstonesnow commented 11 months ago

I have just bought a Lenovo Yoga 7 16" (16ARP8) and trying to run Fedora 38/39 on it. I notice a few issues (bad camera quality, speakers terrible, silent below 50% volume, audible at 100% if in a silent room, tablet mode seems to work ok but top row of keyboard for some reason is still active after folding screen back to tablet form.

I am new to Linux and new to Github, really struggle to understand even just how to use it, but I can use CLI commands as and when I am forced to!

Just wanted to ask if the patches/tricks shown on this thread have ANY chance of working on my machine? If not, I won't mess my system up with commands I won't know how to undo! But if there is a chance, I may give some of the suggestions a go.

Grateful for any thoughts on whether it's worth a shot. Thanks, some great work here, if only there was similar specificallly for my Yoga 7! (One day maybe!)

yehuthi commented 10 months ago

Yes, it's worth a shot. To use this script you need to determine your "input device" per the docs, which is pretty easy (run stdbuf -oL libinput debug-events|grep switch and flip the screen far enough to make it trigger tablet mode, and see which event number you get). If you do get the event then it should most certainly work. And if you don't, then no harm done.

In other words, there's no actual risk.

johnstonesnow commented 10 months ago

I hate to sound like a moaner, and really I am not moaning as I understand github is by devs for devs, but i wish i had the time to try and create an idiots translator website that converted github pages to simpler instructions for average folk like myself!!!

I didn't really follow what you said above.

I am desperately hoping to sort the audio out on my Yoga 7 (16ARP8). Is the stuff in this 'git' likely to help with that do you think? Or did it help with the intended Yoga device it's targetted for? thanks again

yehuthi commented 10 months ago

It's okay, and it's good that you don't give up on Linux. There are three things you need to figure out how to do:

  1. Execute commands on switch. In my previous comment I described how to find the "thing" in the computer that tells it when a switch happens, which you need to know for configuration.
  2. Figure out the name your computer uses for the keyboard, so that you can disable and enable it.
  3. Start detecting and reacting to switches automatically, so you don't have to manually start it every time you start your computer.

What this project does is solve the first issue. I made an alternative that would be easier for you to setup because you don't need to configure it and it doesn't require installing anything else, you can find it here. The bottom of the README in the link addresses the last two issues, check it out regardless of which utility you use.

johnstonesnow commented 10 months ago

Thanks very much for this. I am doing my best to stay with you! So I clicked the link and clicked "README" , then read that page (as best I could!)

Am I right in thinking this xxxx (I just don't know what to call it, a "git"?, a "script"?.... hate not knowing the right terminology and sounding like a right dumber :D) is designed to fix issues with laptops not switching to tablet mode, and that's all it does? Just want to confirm I am understanding this xxxx properly!

I have a feeling my Lenovo Yoga 7 (16ARP8) does make that switch/flip ok. I only tested briefly on a live Fedora USB stick, it wasn't perfect but it did seem to be working and i did see an on screen keyboard come up. I am installing Fedora fully today on this machine, which will allow me to ensure it's fully updated etc. After that I will test again, presumably if I get any tablet mode switching issues, this is the place to be to fix it!

Thanks again, I really appreciate people like you who make stuff to help people fix annoying bugs, even if I don't fully understand how you do it or what it does in some cases!!

PS - The reason I wanted to clarify what this does exactly, or what problem it addresses, is because I have been scouring github (and stackexchange and others) for ideas on how to solve the sound issue which is the biggest disappointment of this laptop on Fedora (running it live to test). The machine has Dolby Atmos, which I don't think works nice with Linux, so that's my first port of call to try and solve (IF possible which may mean I have to sell the machine and find another, hope not). If you happen to know anything about the sound issue, I am all ears for links/tips!

yehuthi commented 10 months ago

This thing is simply a program.

"Git" is a specific program that's unrelated to all of this, it's simply a tool that developers use to store and keep track of the code they write (i.e. it's a VCS). GitHub is a site that hosts code that is being stored and tracked with Git. The distinction between a "script" and a "program" is very subjective and not too relevant, so I'll skip that one but you can easily look it up if you're curious anyway.

All this utility does (whether the one here or the one I linked) is let you run something when the computer switches between tablet mode and laptop mode. That something can be anything you want. It can make up for your computer not doing something you'd expect it to do (like turn off the keyboard), and/or do additional things you want (show an on-screen keyboard). So yes, if you'll have any issues where you expect the computer to do something when you switch to or from tablet mode and it doesn't, either of the utilities is probably the solution.

For your last note, I also had audio issues on my ASUS laptop, because it's a new model and ASUS did everything they could to make sure Linux users would have a terrible experience. I managed to "fix" it by installing the mainline version of the kernel. It's definitely outside the scope of this issue but it might fix your issue as well if your laptop model is somewhat new, so perhaps you'd want to look it up.