Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
lehrkraefte:blc:plg:stift [2021/03/30 20:59] Ivo Blöchliger [Stift bei mehreren Bildschirmen] |
lehrkraefte:blc:plg:stift [2024/01/20 10:56] Karlheinz Schubert |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | < |
+ | **Das Problem hast sich mit dem neuesten Update gelöst.** Alles funktioniert wieder besten. | ||
Mir hat ein Downgrade auf Kernel 5.8.0-30 geholfen. Das Problem ist offenbar bekannt und in neueren Kerneln gelöst. Sollte in zukünftigen Kerneln behoben sein. | Mir hat ein Downgrade auf Kernel 5.8.0-30 geholfen. Das Problem ist offenbar bekannt und in neueren Kerneln gelöst. Sollte in zukünftigen Kerneln behoben sein. | ||
Für das Downgrade sind folgende 3 Packages zu installieren: | Für das Downgrade sind folgende 3 Packages zu installieren: | ||
linux-headers-5.8.0-34 linux-image-5.8.0-34-generic linux-modules-5.8.0-34-generic linux-modules-extra-5.8.0-34-generic | linux-headers-5.8.0-34 linux-image-5.8.0-34-generic linux-modules-5.8.0-34-generic linux-modules-extra-5.8.0-34-generic | ||
Beim Booten muss der korrekte Kernel in " | Beim Booten muss der korrekte Kernel in " | ||
+ | </ | ||
====== Stift bei mehreren Bildschirmen ====== | ====== Stift bei mehreren Bildschirmen ====== | ||
Line 9: | Line 12: | ||
<hidden Alter Hack meinerseits> | <hidden Alter Hack meinerseits> | ||
- | Der Stift wird über die kombinierte Bildschirmbreite gemappt, was natürlich Mist ist. Folgendes Ruby-Script behebt das Problem, wenn der externe Bildschirm rechts vom Laptopbildschirm mit gleicher (Full-HD) Auflösung ist: (mit Option –u aufrufen, um wieder auf einem Bildschirm zu arbeiten): {{lehrkraefte: | + | Der Stift wird über die kombinierte Bildschirmbreite gemappt, was natürlich Mist ist. |
+ | |||
+ | Folgendes Ruby-Script behebt das Problem, wenn der externe Bildschirm rechts vom Laptopbildschirm mit gleicher (Full-HD) Auflösung ist: (mit Option –u aufrufen, um wieder auf einem Bildschirm zu arbeiten): {{lehrkraefte: | ||
+ | |||
+ | <hidden Neuerer Hack andererseits> | ||
+ | Der Stift wird über die kombinierte Bildschirmbreite/ | ||
+ | |||
+ | Folgendes Python-Script behebt das Problem, indem es den Stift nur auf den TouchScreen des Laptops (eDP-1) mapped: | ||
+ | |||
+ | {{lehrkraefte: | ||
+ | <code python> | ||
+ | # | ||
+ | |||
+ | import subprocess | ||
+ | import re | ||
+ | import sys | ||
+ | |||
+ | # configure you devices: | ||
+ | display_id_wayland = " | ||
+ | device_names_wayland = [" | ||
+ | display_id_x11 = " | ||
+ | device_names_x11 = [" | ||
+ | # end configure | ||
+ | |||
+ | verbose = False | ||
+ | |||
+ | |||
+ | def is_wayland(): | ||
+ | """ | ||
+ | ret_value = cmd(" | ||
+ | return ret_value == " | ||
+ | |||
+ | |||
+ | def cmd(c): | ||
+ | """ | ||
+ | print(c) if verbose else None | ||
+ | res = subprocess.check_output(c, | ||
+ | print(res) if verbose else None | ||
+ | return res | ||
+ | |||
+ | |||
+ | def get_device_id(device_name): | ||
+ | """ | ||
+ | id = re.search(r" | ||
+ | return int(id) if id else 0 | ||
+ | |||
+ | |||
+ | def set_xinput_mapping(device_id, | ||
+ | cmd(f" | ||
+ | |||
+ | |||
+ | if __name__ == " | ||
+ | try: | ||
+ | args = sys.argv[1: | ||
+ | if len(args) > 0 and (" | ||
+ | verbose = True | ||
+ | else: | ||
+ | print(" | ||
+ | is_wayland() | ||
+ | if is_wayland(): | ||
+ | display_id = display_id_wayland | ||
+ | device_names = device_names_wayland | ||
+ | else: | ||
+ | display_id = display_id_x11 | ||
+ | device_names = device_names_x11 | ||
+ | name_length = max([len(n) for n in device_names]) | ||
+ | for device_name in device_names: | ||
+ | device_id = get_device_id(device_name) | ||
+ | print(f" | ||
+ | set_xinput_mapping(device_id, | ||
+ | except Exception as e: | ||
+ | print(e) | ||
+ | print("" | ||
+ | input(" | ||
+ | |||
+ | </ | ||
+ | |||
+ | Mit --verbose (oder -v) aufrufen, um //xinput// Ausgaben zu zeigen. | ||
+ | </ |