SII Клавиотуры везде стандартны. Да и многии другии устройства тоже похожи в некоторой степени. А вы про ряды Тейллора знаете? Вот и мы в нектоорой степени строим преблеженную модель. Обобщая крупици знаний.
PROFi Pavia 99% -- это, увы, не 100%. Поэтому, опираясь на код для какой-то конкретной модели, всегда следует помнить, что он может заглючить при попытке использования с другой моделью. Прой Тейллора -- не знаю. Вот про Тейлора слыхал.
SII Любая программа, даже самя отлаженная работает на 99% машин, другое дело, что разработчик должен знать и предвидеть такое поведение. Абсолютно точно указанным способом невозможно работать с тачскринами, у таких компов и клавиатуры часто вообще не бывает.
SII Глупо спорить со знающими людьми Да и кстати - если так уж прям уверены в себе. Сдизасмите _сами_ тройку - пятерку распространненных биосов, а именно обработку INT9. (И ноутбучные тоже проверьте) И сравните. Потом сделайте статью и опубликуйте, так сказать обоснуйте вашу точку зрения, или оповергните. И тогда скажете точные проценты Но ведь не в них дело. Универсальность дело не хитрое. Когда на вашем драйвере работают 99 процентов клавиатур. Вам будет на первых порах чихать на тот 1 процент. Такая суровая реальность, такой рынок.... Дальше идут доработки PS. еще можно почитать несколько книжек умных, например Кулаков "Программирование на аппаратном уровне"
TermoSINteZ Глупо спорить с самоуверенными дураками. Потому что самоуверенный дурак так и останется при своём мнении, что б ему не говорили, а вот по-настоящему знающий и не самоуверенный сможет либо доказать свою точку зрения, либо понять, что он не прав, и признать это. Бред сказали, уважаемый. Чтобы "сказать точные проценты", нужно разобраться со всеми без исключениями версиями BIOSов для всех без исключения материнок, причём до проведения такой работы мою точку зрения опровергнуть невозможно (поскольку она опровергается только в том случае, если после "разборок" со всеми материнками окажется, что везде работа с клавиатурой организована абсолютно одинаково). Вот обратную точку зрения -- можно, если хотя бы один раз будет обнаружена ситуация, когда код, работающий с клавиатурой на одной матери, не будет корректно работать на другой. Угу, нехитрое. Но только если существует чёткий стандарт. Тогда этот самый 1% просто окажется не соответствующим стандарту, на него можно будет смело плюнуть. А если стандарта нет, универсальность может оказаться очень даже "хитрым" делом. Вы считаете книжки Кулакова исчерпывающим руководством? PROFi Действительно отлаженная программа работает на 100% машин -- при условии, что сами машины "отлажены". Можно вспомнить, например, про глюки с сопроцессором в некоторых пнях и 386-х. Если какие-то программы, работавшие на других моделях, вдруг начинали "врать" на этих кристаллах, то виноваты были, понятное дело, инженеры Интел: именно они, а не рядовые программисты, не обеспечили соблюдение собственных спецификаций на аппаратуру. Естественно, глупо требовать, чтобы программист пытался написать "прямую" программу для "кривого" железа. Но в случае с клавой, как и с другим оборудованием на материнке, ситуация немного другая: BIOS имеет полное право использовать некие "фичи" конкретной модели любого контроллера, которые могут отсутствовать у других контроллеров. У BIOS есть на это право, поскольку она создаётся под конкретное оборудование и вовсе не обязана быть переносимой. Однако универсальные программы зависеть от подобных "фич" не должны.
SII По крайней мере по части PS\2 там достаточно достоверная информация. Если вы считаете, что это инфженеры IBM придумали PS/2 и не задокументировали ? Или винить производителей материнок или же программистов биосов ? Биосов не так уж и много, чтоб родить чтото универсальное, пусть даже с кучей проверок. Не надо на них грешить. Грешите на производителей клавиатур, с ихними драйверами... Это будет логичнее. Ибо стандартов PS\2 они придерживаться должны (если нет - уж извините, были на то причины и не важно какие - продают же и покупают)
TermoSINteZ Не спорю. Но не абсолютно полная, поэтому в коде BIOS можно наткнуться на что-нибудь такое, что у Кулакова не отражено (и чем пользоваться рискованно). Думаю, Вам не надо рассказывать, что такое совместимость "снизу вверх"? (для тех, кто не знает: обычно этот термин употребляется по отношению к процессорам или вычислительным машинам в целом: старшие модели могут выполнять программы для младших, но наоборот -- не всегда, что связано в первую очередь с введением новых команд в старших моделях). Здесь может иметь место то же самое: новые контроллеры обязаны реализовать некий стандартный минимум (вероятно, тот самый, что наверняка был задокументирован инженерами IBM), но могут включать некоторые свои "фичи", не совместимые у разных производителей. BIOSов достаточно много, хотя их разработчиков действительно мало. Но не станете ж Вы утверждать, что код BIOS для какой-нибудь мамы на 440BX можно прошить (точней, заставить работать) на 845? В прошлом году брали одной знакомой блондинке компьютер. Взяли USB-клаву. Включаем: не работает (точней, работает, но после перезагрузки компа без отключения питания, с помощью ресета, а до него -- клавиатуры типа нет). Втыкаем другую клаву, заведомо рабочую -- всё работает нормально. Втыкаем глюкавую клаву на уже имеющийся комп -- тоже работает без проблем. Вот и спрашивается, где глюк: в этой клаве и в BIOS материнки нового компа?.. В общем, клаву продавец заменил на другую модель, мать осталась та же, комп работает. Но в чём дело, так и осталось невыясненным. Во-первых, см. выше, про совместимность снизу вверх А во-вторых, стандарт PS/2 определяет как требования к контроллеру, так и к подключаемым через него устройствам (клаве и мыше). Клава может абсолютно соответствовать стандарту, а программа -- не работать, если она попытается использовать некие фичи, отсутствующие на данном контроллере (если программист решил, что эти фичи -- стандартные, а на самом деле они окажутся фирменными). Собственно, от подобного я и предостерегал своими постами: анализировать BIOS анализируй, но не забывай, что он написан для конкретной модели матери, а потому может (но не обязан) зависеть от особенностей её оборудования. А начинающему вообще лучше не в BIOSе копаться, а того же Кулакова почитать -- для практической работы имеющейся там инфы вполне достаточно.
SII С этим, а так же и про совместимость и про слодность анализа биоса я полностью с вами согласен. Я ж имел ввиду только то, что если доп фичи какой нить нестандартной клавиатуры не работают созданном драйвере (например там забили на 64 порт) не надо винить в этом биосы матиеринки и их разработчиков. Может лучше, если нет доков с сайта производителя клавиатуры, пореверсить ихний драйвер (а вдруг и он не работает.. тогда вообще ноу коммент). Ведь тема была о том, почему не работает определенный порт на нестандартной клавиатуре (ноуте и тп). Но ведь это стандарт. А значит дело не в биосе (биос же поддерживает только стандартные фичи а не всякие мультимедия клавиши типа вызова винампа) вот PROFi показал, что дока есть и как правильно обращаться с этим контролером Эх зря вы рассказали про случай по поводу странности той юсб клавы - тут есть личности вроде "спамера" который сейчас будет твердить про неземные цивилизации