Git Product home page Git Product logo

Welcome to the libthinkpad documentation {#mainpage}

What is libthinkpad?

libthinkpad is a userspace general purpose library to change hardware configuration and
manage hardware events in the userspace for Lenovo/IBM ThinkPad laptops.

The library unifies ACPI dispatchers, hardware information systems and hardware configuration
interfaces into a single userspace library.

What does this library enable?

This library enables userspace applications to configure the ThinkPad-specific hardware and fetch
information about it. Examples include the docking events, the dock state and other things.

How to build the library?

To build the library you will need a few components first:

libsystemd: needed to provide suspend support via logind
libudev: needed to monitor the system interface filesystem
acpid: needed to provide the ACPI events to libthinkpad

Note about systemd: The library is not heavily dependent on systemd.
systemd is only needed for power management state changes, and it can be
disable via the SYSTEMD CMake flag.
However, disabling systemd support also cripples the power management system of the library.

In the future, we will support ALL init systems.

Building the library:

  1. Download the latest source
  2. Create a new folder called build inside the source root (optional)
  3. Run cmake . -DCMAKE_INSTALL_PREFIX=/usr or cmake .. -DCMAKE_INSTALL_PREFIX=/usr depending on where you are
  4. Run make
  5. Run make install

Now to use the library, use -lthinkpad.

To build the examples, use g++ example.cpp -lthinkpad -std=c++11

Where to start?

To start with the library, you can start exploring the ThinkPad namespace.

Also, you can find examples inside the examples directory in the main source tree.

A few notes

This library is early in development, bugs may occur.

Licensed under the BSD 2-Clause license.

Thinkpads.org's Projects

apindex icon apindex

Static HTML file index generator for Github Pages

dockd icon dockd

Lenovo ThinkPad Dock Management Daemon. Docs:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.