اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release بدلاً من aosp-main لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
  
         
       
     
  
  
  
    
  
  
  
    
    
      
    
    
      
      تنظيم صفحاتك في مجموعات
    
    
      
      يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
    
  
  
    
  
  
  
  
    
  
  
    
    
    
  
  
 
  
   #include <
   
    input.h
   
   >
  
 
 
  
   |  | 
  
   | input_device_identifier_t
    
    *(* | create_device_identifier
    
    )(
    
     input_host_t
    
    *host, const char *name, int32_t product_id, int32_t vendor_id,
    
     input_bus_t
    
    bus, const char *unique_id) | 
  
   |  | 
  
   | input_device_definition_t
    
    *(* | create_device_definition
    
    )(
    
     input_host_t
    
    *host) | 
  
   |  | 
  
   | input_report_definition_t
    
    *(* | create_input_report_definition
    
    )(
    
     input_host_t
    
    *host) | 
  
   |  | 
  
   | input_report_definition_t
    
    *(* | create_output_report_definition
    
    )(
    
     input_host_t
    
    *host) | 
  
   |  | 
  
   | void(* | free_report_definition
    
    )(
    
     input_host_t
    
    *host,
    
     input_report_definition_t
    
    *report_def) | 
  
   |  | 
  
   | void(* | input_device_definition_add_report
    
    )(
    
     input_host_t
    
    *host,
    
     input_device_definition_t
    
    *d,
    
     input_report_definition_t
    
    *r) | 
  
   |  | 
  
   | void(* | input_report_definition_add_collection
    
    )(
    
     input_host_t
    
    *host,
    
     input_report_definition_t
    
    *report,
    
     input_collection_id_t
    
    id, int32_t arity) | 
  
   |  | 
  
   | void(* | input_report_definition_declare_usage_int
    
    )(
    
     input_host_t
    
    *host,
    
     input_report_definition_t
    
    *report,
    
     input_collection_id_t
    
    id,
    
     input_usage_t
    
    usage, int32_t min, int32_t max, float resolution) | 
  
   |  | 
  
   | void(* | input_report_definition_declare_usages_bool
    
    )(
    
     input_host_t
    
    *host,
    
     input_report_definition_t
    
    *report,
    
     input_collection_id_t
    
    id,
    
     input_usage_t
    
    *usage, size_t usage_count) | 
  
   |  | 
  
   | input_device_handle_t
    
    *(* | register_device
    
    )(
    
     input_host_t
    
    *host,
    
     input_device_identifier_t
    
    *id,
    
     input_device_definition_t
    
    *d) | 
  
   |  | 
  
   | void(* | unregister_device
    
    )(
    
     input_host_t
    
    *host,
    
     input_device_handle_t
    
    *handle) | 
  
   |  | 
  
   | input_report_t
    
    *(* | input_allocate_report
    
    )(
    
     input_host_t
    
    *host,
    
     input_report_definition_t
    
    *r) | 
  
   |  | 
  
   | void(* | input_report_set_usage_int
    
    )(
    
     input_host_t
    
    *host,
    
     input_report_t
    
    *r,
    
     input_collection_id_t
    
    id,
    
     input_usage_t
    
    usage, int32_t value, int32_t arity_index) | 
  
   |  | 
  
   | void(* | input_report_set_usage_bool
    
    )(
    
     input_host_t
    
    *host,
    
     input_report_t
    
    *r,
    
     input_collection_id_t
    
    id,
    
     input_usage_t
    
    usage, bool value, int32_t arity_index) | 
  
   |  | 
  
   | void(* | report_event
    
    )(
    
     input_host_t
    
    *host,
    
     input_device_handle_t
    
    *d,
    
     input_report_t
    
    *report) | 
  
   |  | 
  
   | input_property_map_t
    
    *(* | input_get_device_property_map
    
    )(
    
     input_host_t
    
    *host,
    
     input_device_identifier_t
    
    *id) | 
  
   |  | 
  
   | input_property_t
    
    *(* | input_get_device_property
    
    )(
    
     input_host_t
    
    *host,
    
     input_property_map_t
    
    *map, const char *key) | 
  
   |  | 
  
   | const char *(* | input_get_property_key
    
    )(
    
     input_host_t
    
    *host,
    
     input_property_t
    
    *property) | 
  
   |  | 
  
   | const char *(* | input_get_property_value
    
    )(
    
     input_host_t
    
    *host,
    
     input_property_t
    
    *property) | 
  
   |  | 
  
   | void(* | input_free_device_property
    
    )(
    
     input_host_t
    
    *host,
    
     input_property_t
    
    *property) | 
  
   |  | 
  
   | void(* | input_free_device_property_map
    
    )(
    
     input_host_t
    
    *host,
    
     input_property_map_t
    
    *map) | 
  
   |  | 
 
 
 
 
 
  
   التعريف في السطر
   
    409
   
   من الملف
   
    input.h
   
   .
  
  
 
 
 
 
  
  
   
    تخصيص تعريف الجهاز الذي سيصف إمكانات الإدخال للجهاز يمكن استخدام تعريف جهاز لتسجيل أي عدد من الأجهزة.
   
   
    التعريف في السطر
    
     424
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    تُنشئ معرّف جهاز باستخدام السمات المحدّدة. يجب أن يكون المعرّف الفريد سلسلة تحدّد بدقة جهازًا معيّنًا. على سبيل المثال، يمكن أن يستخدم جهاز الإدخال المتصل عبر البلوتوث عنوان MAC الخاص به كمعرّف فريد.
   
   
    التعريف في السطر
    
     416
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    يمكنك تخصيص تقرير إدخال، سيستخدمه HAL لإعلام المضيف بأحداث الإدخال الواردة، أو تقرير إخراج، سيستخدمه المضيف لإعلام HAL بتغييرات الحالة المطلوبة (مثل ضبط مصباح LED).
   
   
    التعريف في السطر
    
     431
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
 
 
 
  
  
   
    تحرير تعريف التقرير
   
   
    التعريف في السطر
    
     437
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    تخصيص تقرير سيحتوي على جميع الحالات كما هو موضّح في التقرير المحدّد
   
   
    التعريف في السطر
    
     488
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    إلحاق التقرير بجهاز الإدخال المحدَّد
   
   
    التعريف في السطر
    
     442
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    تحرير input_property_t*
   
   
    التعريف في السطر
    
     535
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    تحرير input_property_map_t*
   
   
    التعريف في السطر
    
     540
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    استرداد سمة للجهاز باستخدام المفتاح المحدَّد تعرِض هذه الدالة القيمة NULL إذا لم يكن المفتاح متوفّرًا، أو تعرِض القيمة input_property_t* التي يجب تحريرها باستخدام 
     input_free_device_property()
    
    . لا يمكن تحديد ما إذا كان استخدام input_property_t بعد تحرير input_property_map_t المقابل له.
   
   
    التعريف في السطر
    
     517
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    استرداد مجموعة الخصائص للجهاز يمكن استخدام input_property_map_t* المعروضة للاستعلام عن سمات معيّنة من خلال دالة الاستدعاء input_get_device_property.
   
   
    التعريف في السطر
    
     509
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    الحصول على مفتاح سمة الإدخال تعرِض قيمة NULL إذا كانت السمة فارغة. إنّ القيمة const char* المعروضة مملوكة لـ input_property_t.
   
   
    التعريف في السطر
    
     524
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    الحصول على قيمة السمة التي تم إدخالها تعرِض قيمة NULL إذا كانت السمة فارغة. إنّ القيمة const char* المعروضة مملوكة لـ input_property_t.
   
   
    التعريف في السطر
    
     530
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    أضِف مجموعة بالترتيب والعدد التعريفي المحدَّدَين. تصف المجموعة مجموعة من الخصائص المجمّعة منطقيًا، مثل الإحداثيَين X وY للمسة إصبع واحدة أو مجموعة المفاتيح على لوحة المفاتيح. تُحدِّد السمة عدد النُسخ المتكرّرة من هذه المجموعة التي ستظهر في أيّ تقرير يتم إرفاقها به. يصف رقم التعريف نوع التجميع الذي تمثّله المجموعة. على سبيل المثال، قد تحتوي شاشة لمس قادرة على تسجيل ما يصل إلى إصبعَين في الوقت نفسه على مجموعة تتضمّن إحداثيات X وY وعدد عناصر يساوي 2 ورقم تعريف INPUT_COLLECTION_USAGE_TOUCHSCREEN. لا يمكن أن يظهر أي معرّف معيّن إلا مرة واحدة في تقرير معيّن.
   
   
    التعريف في السطر
    
     455
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    وضِّح استخدامًا لنوع int مع السمات المحدّدة. يحدِّد التقرير والمجموعة مكان الإفصاح عن الاستخدام.
   
   
    التعريف في السطر
    
     462
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    يمكنك تحديد مجموعة من استخدامات القيم المنطقية باستخدام الخصائص المحدّدة. يحدِّد التقرير والمجموعة الأماكن التي يتم فيها الإفصاح عن الاستخدامات.
   
   
    التعريف في السطر
    
     470
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    أضِف قيمة استخدام منطقية إلى تقرير.
   
   
    التعريف في السطر
    
     499
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    أضِف قيمة استخدام عدد صحيح إلى تقرير.
   
   
    التعريف في السطر
    
     493
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
  
  
   
    تسجيل تعريف جهاز إدخال معيّن يُرسِل هذا الإشعار إلى المضيف يفيد بتوصيل جهاز إدخال ويقدّم وصفًا لجميع إمكاناته.
   
   
    التعريف في السطر
    
     479
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 
 
 
 
 
  
  
   
    إلغاء تسجيل الجهاز المحدَّد
   
   
    التعريف في السطر
    
     483
    
    من الملف
    
     input.h
    
    .
   
   
  
 
 تم إنشاء مستندات هذه البنية من الملف التالي:
 
  - 
   hardware/libhardware/include/hardware/
   
    input.h
   
  
 
 
  
  
  
 
  
    
    
      
    
    
  
       
    
    
  
  
  يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
  تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
  
  
  
    
      [[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]