KernelWanderers / OCSysInfo

Basic, high-level and efficient CLI for discovering, outputting and parsing hardware information from the current system.
MIT License
94 stars 14 forks source link

[TRACKER]: Features to be implemented #25

Open kernel-dev opened 2 years ago

kernel-dev commented 2 years ago

As the base of this application continues to expand, and as it gets more and more complex overtime, I think opening up a “tracker” of sorts so that both users and potential contributors are very well aware of what is to (hopefully) be implemented over the years to come.

First off, let's get basic features, refactoring and further implementations necessary (or well, more-so “preferred”):

That is pretty much it for now, it is going to be a long journey, but I'm hoping they'll come around eventually.

I will be continuously updating this as features are implemented, or if there are any other features that may be useful which require implementations.

Overc1ocker commented 1 year ago

[Input] Does not work on linux.

When I run this tool, no input devices show up. I assume this has not been implemented yet so here are some tips.

Hwinfo already some of what you need. Here are the input devices on my laptop

21: **PS/2 00.0: 10800 Keyboard**                                   
  [Created at input.226]
  Unique ID: c3zD.+49ps10DtUF
  Hardware Class: keyboard
  Model: "AT Translated Set 2 keyboard"
  Vendor: 0x0001 
  Device: 0x0001 "AT Translated Set 2 keyboard"
  Compatible to: int 0x0211 0x0001
  Device File: /dev/input/event4
  Device Files: /dev/input/event4, /dev/input/by-path/platform-i8042-serio-0-event-kbd
  Device Number: char 13:68
  Driver Info #0:
    XkbRules: xfree86
    XkbModel: pc104
  Config Status: cfg=new, avail=yes, need=no, active=unknown
36: PS/2 00.0: 10500 PS/2 Mouse                                 
  [Created at input.249]
  Unique ID: AH6Q.EtaYDSYgYo2
  Hardware Class: mouse
  Model: "DELL0817:00 044E:121F Mouse"
  Vendor: 0x044e 
  Device: 0x121f "DELL0817:00 044E:121F Mouse"
  Compatible to: int 0x0210 0x0043
  Device File: /dev/input/mice (/dev/input/mouse0)
  Device Files: /dev/input/mice, /dev/input/mouse0, /dev/input/event16
  Device Number: char 13:63 (char 13:32)
  Driver Info #0:
    Buttons: 3
    Wheels: 4
    XFree86 Protocol: explorerps/2
    GPM Protocol: exps2
  Config Status: cfg=new, avail=yes, need=no, active=unknown

37: PS/2 00.0: 10500 PS/2 Mouse
  [Created at input.249]
  Unique ID: AH6Q.DZfybgQnY29
  Hardware Class: mouse
  Model: "DELL0817:00 044E:121F Touchpad"
  Vendor: 0x044e 
  Device: 0x121f "DELL0817:00 044E:121F Touchpad"
  Compatible to: int 0x0210 0x0002
  Device File: /dev/input/mice (/dev/input/mouse1)
  Device Files: /dev/input/mice, /dev/input/mouse1, /dev/input/event17, /dev/input/by-path/pci-0000:00:15.1-platform-i2c_designware.1-event-mouse, /dev/input/by-path/pci-0000:00:15.1-platform-i2c_designware.1-mouse
  Device Number: char 13:63 (char 13:33)
  Driver Info #0:
    Buttons: 2
    Wheels: 0
    XFree86 Protocol: explorerps/2
    GPM Protocol: exps2
  Config Status: cfg=new, avail=yes, need=no, active=unknown
kernel-dev commented 1 year ago

Thank you for your input, @Overc1ocker. However, it is technically implemented, don’t know on which distributions it does and doesn’t work, nor do I care that deeply about it. I, personally, cannot be arsed to deal with Linux. The entire reason why Linux is even supported is due to the help from a plethora of wonderful users who helped me in figuring out how to implement each feature for Linux platforms.

For the record, here you can find the exact method responsible for extracting input device information.

This, of course, might not work across various distributions, as each distro developer(s) tend to pertain to their own ideologies and practices, and I do not want to hassle myself with keeping up with every distro’s custom practices. Some of the methods there I didn’t even write at all. input_info was written by @1Revenger1, block_info (storage) was written by @rvstry, mem_info was greatly contributed by @flagersgit, @nadiaholmquist, @joshj23, @rusty-bits, cpu_info for ARM platforms was written by @ThatCopy.

Obviously, contribution of users doesn’t only pertain to the Linux platform, but major contributions were done there. I’m thankful to all of them for their work, and OCSI wouldn’t be what it is without them.